Tizen V2.3 Bootup

Total Page:16

File Type:pdf, Size:1020Kb

Tizen V2.3 Bootup !1 42 Tizen v2.3 Bootup Embedded Software Lab. @ SKKU 内容 !2 42 • Bootloader(U-boot) – Bootloader 概述 – U-boot • Systemd – Systemd 概述 – Platform Bootup – Parsing Unit File Embedded Software Lab. @ SKKU !3 42 Bootloader(U-boot) Embedded Software Lab. @ SKKU !4 Tizen bootup 概述 43 • 引导加载程序 – 将机器 id和启动参数传递给内核 Power on ROM code Booting device Bootloader Kernel Platform Embedded Software Lab. @ SKKU !5 什么是引导加载程序 bootloader 43 • 引导加载程序是什么 ? – 引导加载程序是当系统初始化时的第⼀个执⾏程序 (在主程 序前,例如内核 ) – 引导加载程序是⼀个计算机程序 ,在⾃检完成后加载主程序 (即操作系统内核 ) • 为什么需要引导加载程序 ? – 给出了⼀个开发环境 – 节省了 flash读写的成本 – 给加载任何操作系统提供灵活性 Embedded Software Lab. @ SKKU !6 引导加载程序的类型 43 • 引导加载程序的不同类型是什么 ? – Boot-ROM ( or Pre-Boot Loader) • ⼩代码加载第⼀阶段引导加载程序 – First Stage Boot Loader • ⼩段代码初始化 NAND/MMC & DRAM控制器。 – Second Stage Boot Loader • 第⼆阶段的引导加载程序的主要功能是内核加载到 RAM或直接跳跃到 内核的开始。 First-Stage Second-Stage Pre-Bootloader OS Kernel Bootloader Bootloader Embedded Software Lab. @ SKKU !7 U-boot 加载过程 43 Exynos4412 DRAM controller DRAM Cortex-A9 eSSD controller Internal ROM 1 iROM code Booting Device NAND controller (NAND, MMC, SD, USB) 1st BL SD/MMC controller 2 2nd BL Internal SRAM 3 OS UART/USB Embedded Software Lab. @ SKKU !8 U-boot 加载过程 43 • BL0; iRom code (boot-rom or pre-boot loader) – 简单的平台⽆关的代码存储在内部 ROM – 初始化基本功能 (时钟 ,栈 ,堆 ,等等 ) – 加载第⼀阶段引导加载程序 (从启动设备内部存储器 ) • BL1; first boot loader – 简单的平台⽆关的代码存储在外部存储器 (引导设备 ) – 加载第⼆引导加载程序 – 初始化 NAND/MMC & DRAM控制器 • BL2; second boot loader – 平台依赖复杂的代码存储在外部存储器中 – 初始化时钟 ,UART – 从引导装载操作系统映像 DRAM的⼿段 – 跳转到操作系统 Embedded Software Lab. @ SKKU !9 U-boot ⺫录结构 43 /u-boot /u-boot api examples Machine/arch independent API Example code for standalone applications arch Architecture specific files fs Filesystem code (cramfs, ext2, jffs2, etc.) board include Board dependent files Header files common Misc architecture independent functions lib Files generic to all architectures disk net Code for disk drive partition handling Networking code doc post Documentation Power on self test drivers Commonly used device drivers rtc Real time clock drivers tools Tools to build S-Record or U-boot images Embedded Software Lab. @ SKKU !10 U-boot 编码顺序 43 1. 禁⽤所有中断 2. 从 ROM将所有初始化数据复制到 RAM 3. 清空未初始化的数据区域 4. 分配和初始化堆栈空间 5. 初始化处理器的堆栈指针 6. 创建并初始化堆 7. 执⾏所有全局数据的初始化 8. 启⽤中断 9. 调⽤主循环 Embedded Software Lab. @ SKKU !11 U-boot 编码顺序 43 Reset CPU and Hardware cpu/armv7/start.S _start() Setup SP for Early Board Setup Environment (ASM->C) Disable IRQ &FIQ. Switch to supervisor mode General Relocation arm/lib/crt0.S cpu/armv7/start.S _main() reset() cpu/armv7/start.S Early Board Setup relocate_code() arm/lib/crt0.S Low Level Initialization board_init_f() Copy Binary to RAM cpu_init_crit Calculate Addresses (SP, Dest, GD) for Fix Relocation Invalidate and disable Relocation Instruction & data Cache Clear BSS Disable MMU Setup SP for Common Board Setup Setup GD and JUMP to Final Board Setup lowlevel_init arm/lib/crt0.S board/samsung/lowlevel_init.S board_init_r() lowlevel_init() Jump into main loop Embedded Software Lab. @ SKKU !12 U-boot 编码顺序 43 • _start() /* Entry point function */ • reset() /* Reset CPU configurations */ – save_boot_params() /* Save boot parameters */ – Disable the FIQ & IRQ – Switch to supervisor mode – cpu_init_crit() • Invalidate I, D Cache • Disable I cache if CONFIG_SYS_ICACHE_OFF • Disable MMU • lowlevel_init() • _main() /* setup initial stack & global data. And jump to C routine for board initialization */ Embedded Software Lab. @ SKKU !13 U-boot 编码顺序 43 • board_init_f() – arch_cpu_init // basic arch cpu dependent setup – board_early_init_f // early board initialization, UART pin setting – timer_init // initialize timer – env_init // initialize mmc/sdcard environment – init_baudrate // initialize baudrate settings – serial_init // serial communication setup – console_init_f // stage 1 init of console, configure console from console.c – display_banner // say that we are here, print u-boot banner – print_cpuinfo // display cpu info – checkboard // display board info – init_func_i2c // initialize I2C – dram_init // configure available RAM backs – arm_pci_init Embedded Software Lab. @ SKKU !14 U-boot 编码顺序 43 • board_init_r() – board_init // setup chipselects specific configuration – logbuff_init_ptrs // initialize default log level – mem_malloc_init // configure malloc area – nand_init mmc_init // initialize flash/mmc – env_relocate // relocate environment or set NULL – stdio_init // setup stdio ready for use – api_init // initialize API – console_init_r // fully init console as a device – arch_misc_init // miscellaneous arch dependent initialization – misc_init_r // miscellaneous platform dependent initialization – interrupt_init // set up exceptions – enable_interrupts // enable exceptions – board_late_init // board late initialization – eth_initialize // setup ethernet – main_loop // jump to main loop & waiting for commands from console Embedded Software Lab. @ SKKU !15 U-boot 编码顺序 43 main_loop() Wait for 3 seconds Key pressed within 3 seconds Input command Command_mode() Autoboot_mode() boot() loads() tftpboot() flash() Jump to kernel image address Embedded Software Lab. @ SKKU !16 通过 U-boot加载 43 SDRAM Reset CPU Kernel Root File-System Booting device Bootloader uboot Bootloader uboot Kernel Image Optional compressed Root File System Embedded Software Lab. @ SKKU !17 通过 U-boot加载 43 • 打包 uImage – When the kernel is complied, mkimage attaches image_header to kernel image • 解包 uImage – Magin number ! CRC check ! decompress ! get board information ! kernel booting #define IH_MAGIC 0x27051956 /* Image Magic Number */ #define IH_NMLEN 32 /* Image Name Length */ typedef struct image_header { uint32_t ih_magic; /* Image Header Magic Number */ uint32_t ih_hcrc; /* Image Header CRC Checksum */ uint32_t ih_time; /* Image Creation Timestamp */ uint32_t ih_size; /* Image Data Size */ uint32_t ih_load; /* Data Load Address */ uint32_t ih_ep; /* Entry Point Address */ uint32_t ih_dcrc; /* Image Data CRC Checksum */ uint8_t ih_os; /* Operating System */ uint8_t ih_arch; /* CPU architecture */ uint8_t ih_type; /* Image Type */ uint8_t ih_comp; /* Compression Type */ uint8_t ih_name[IH_NMLEN]; /* Image Name */ } image_header_t; Embedded Software Lab. @ SKKU !18 start_kernel 43 • Architecture dependent setup – setup_arch() [/arch/arm/kernel/setup.c] • Exception(or trap) initialization – trap_init() [/arch/arm/kernel/trap.c] • Interrupt initialization – init_IRQ() [/arch/arm/kernel/irq.c] – sotfirq_init() [/kernel/sotfirq.c] • Scheduler initialization – sched_init() [/kernel/sched.c] • Timer initialization – time_init() [/arch/XXX/kernel/time.c] • Console initialization – console_init() [/driver/char/tty_io.c] • Module initialization – init_module() [/kernel/module.c] Embedded Software Lab. @ SKKU !19 start_kernel 43 • 内存和系统初始化 ,缓存和缓冲初始化 ,⽂件系统初始化 – kmem_cache_init() [/mm/slab.c] – mem_init() [/arch/a,r/mm/init.c] – kmem_cache_size() [/mm/slab.c] – fork_init() [/kernel/fork.c] – proc_caches_init() [/kernel/fork.c] – vfs_caches_init() [/fs/dcache.c] – buffer_init() [/fs/buffer.c] – page_cache_init() [/mm/filemap.c] – signals_init() [/kernel/signal.c] – proc_root_init() [/fs/proc/root.c] – ipc_init() [/ipc/util.c] • init process creation – rest_init() [/init/main.c] Embedded Software Lab. @ SKKU !20 43 systemd Embedded Software Lab. @ SKKU !21 什么是 systemd? 43 • Sysvinit – userspace launch (PID 1) – ⼀次只有⼀个进程运⾏ – 直接启动系统 ,然后 sleep直到下⼀次重新启动 • Systemd – Default init in Fedora 15 and later Leonard Poettering (2009) – 改善软件框架来表达依赖性 – 允许在系统启动时同时或并⾏处理更多的过程 – 减少计算开销。 Embedded Software Lab. @ SKKU !22 什么是 systemd? 43 • Systemd in Tizen – System and service manager for tizen systemd – Ver. 43 (download http://www.freedesktop.org/software/systemd/) – Parallelizes service execution – Socket and D-Bus activation for starting services and daemon – on-demand starting of daemons – Managing the service processes as a group using Linux cgroup – Supporting automount points – Snapshotting and restoring of services Embedded Software Lab. @ SKKU !23 systemd 体系结构 43 Embedded Software Lab. @ SKKU !24 systemd 体系结构 43 • systemd Utility – 监测和控制 systemd本⾝和它的服务 – “systemctl”开发⼈员可以查询或发送控制命令对 systemd服务管理者 – 'systemd-journalctl' ⽤于查看⽇志⽂件 • systemd target – Tizen启动过程分开在不同的离散步骤,每个步骤使⽤ “target”单元同步点来分组单位 – 每个⺫标的启动过程是⾼度并⾏ ,具体⺫标单位在这样的顺序下的到达具有不确定性 • systemd daemon – Tizen平台系统和服务管理者 – 作为初始化系统 – 'systemd' daemonruns as user session with '--user' option – 'systemd-journald' is a system service that collects and stores log data from the Kernel, from user processes via syslog or STDOUT/STDERR Embedded Software Lab. @ SKKU !25 systemd 体系结构 43 • systemd core – 管理所有单元如 service, socket, mount 等等 , 储存所有的⽇志数据 . – controlled by using systemd utility like 'systemctl' • systemd library & Linux Kernel – systemd requires to enable 'cgroup' and 'autofs' option in Kernel configuration – It also depends on dbus and some libraries such as libnotify, libudev Embedded Software Lab. @ SKKU !26 平台启动 – sysinit.target 43 • 早期启动脚本 – Most of file system are mounted and systemd related daemons are launched Kernel sysinit.target -.mount local-fs.target boot.mount dev-hugepages.mount csa.mount dev-mqueue.mount basic.target fsck-root.service proc-sys-fs-binfmt_misc.automount media.mount sys-fs-fuse-connections.mount opt-usr.mount sys-kernel-config.mount bootmode.target opt.mount sys-kernel-debug.mount remount-rootfs.service sys-kernel-security.mount resize2fs-root.service systemd-ask-password-console.path systemd-remount-api-vfs.service multi-user.target systemd-binfmt.service var-run.mount systemd-journald.service systemd-modules-load.service graphical.target systemd-random-seed-load.service
Recommended publications
  • Study of File System Evolution
    Study of File System Evolution Swaminathan Sundararaman, Sriram Subramanian Department of Computer Science University of Wisconsin {swami, srirams} @cs.wisc.edu Abstract File systems have traditionally been a major area of file systems are typically developed and maintained by research and development. This is evident from the several programmer across the globe. At any point in existence of over 50 file systems of varying popularity time, for a file system, there are three to six active in the current version of the Linux kernel. They developers, ten to fifteen patch contributors but a single represent a complex subsystem of the kernel, with each maintainer. These people communicate through file system employing different strategies for tackling individual file system mailing lists [14, 16, 18] various issues. Although there are many file systems in submitting proposals for new features, enhancements, Linux, there has been no prior work (to the best of our reporting bugs, submitting and reviewing patches for knowledge) on understanding how file systems evolve. known bugs. The problems with the open source We believe that such information would be useful to the development approach is that all communication is file system community allowing developers to learn buried in the mailing list archives and aren’t easily from previous experiences. accessible to others. As a result when new file systems are developed they do not leverage past experience and This paper looks at six file systems (Ext2, Ext3, Ext4, could end up re-inventing the wheel. To make things JFS, ReiserFS, and XFS) from a historical perspective worse, people could typically end up doing the same (between kernel versions 1.0 to 2.6) to get an insight on mistakes as done in other file systems.
    [Show full text]
  • ECE 598 – Advanced Operating Systems Lecture 19
    ECE 598 { Advanced Operating Systems Lecture 19 Vince Weaver http://web.eece.maine.edu/~vweaver [email protected] 7 April 2016 Announcements • Homework #7 was due • Homework #8 will be posted 1 Why use FAT over ext2? • FAT simpler, easy to code • FAT supported on all major OSes • ext2 faster, more robust filename and permissions 2 btrfs • B-tree fs (similar to a binary tree, but with pages full of leaves) • overwrite filesystem (overwite on modify) vs CoW • Copy on write. When write to a file, old data not overwritten. Since old data not over-written, crash recovery better Eventually old data garbage collected • Data in extents 3 • Copy-on-write • Forest of trees: { sub-volumes { extent-allocation { checksum tree { chunk device { reloc • On-line defragmentation • On-line volume growth 4 • Built-in RAID • Transparent compression • Snapshots • Checksums on data and meta-data • De-duplication • Cloning { can make an exact snapshot of file, copy-on- write different than link, different inodles but same blocks 5 Embedded • Designed to be small, simple, read-only? • romfs { 32 byte header (magic, size, checksum,name) { Repeating files (pointer to next [0 if none]), info, size, checksum, file name, file data • cramfs 6 ZFS Advanced OS from Sun/Oracle. Similar in idea to btrfs indirect still, not extent based? 7 ReFS Resilient FS, Microsoft's answer to brtfs and zfs 8 Networked File Systems • Allow a centralized file server to export a filesystem to multiple clients. • Provide file level access, not just raw blocks (NBD) • Clustered filesystems also exist, where multiple servers work in conjunction.
    [Show full text]
  • Hardware-Driven Evolution in Storage Software by Zev Weiss A
    Hardware-Driven Evolution in Storage Software by Zev Weiss A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Sciences) at the UNIVERSITY OF WISCONSIN–MADISON 2018 Date of final oral examination: June 8, 2018 ii The dissertation is approved by the following members of the Final Oral Committee: Andrea C. Arpaci-Dusseau, Professor, Computer Sciences Remzi H. Arpaci-Dusseau, Professor, Computer Sciences Michael M. Swift, Professor, Computer Sciences Karthikeyan Sankaralingam, Professor, Computer Sciences Johannes Wallmann, Associate Professor, Mead Witter School of Music i © Copyright by Zev Weiss 2018 All Rights Reserved ii To my parents, for their endless support, and my cousin Charlie, one of the kindest people I’ve ever known. iii Acknowledgments I have taken what might be politely called a “scenic route” of sorts through grad school. While Ph.D. students more focused on a rapid graduation turnaround time might find this regrettable, I am glad to have done so, in part because it has afforded me the opportunities to meet and work with so many excellent people along the way. I owe debts of gratitude to a large cast of characters: To my advisors, Andrea and Remzi Arpaci-Dusseau. It is one of the most common pieces of wisdom imparted on incoming grad students that one’s relationship with one’s advisor (or advisors) is perhaps the single most important factor in whether these years of your life will be pleasant or unpleasant, and I feel exceptionally fortunate to have ended up iv with the advisors that I’ve had.
    [Show full text]
  • Enterprise Filesystems
    Enterprise Filesystems Eric Sandeen Principal Software Engineer, Red Hat Feb 21, 2013 1 ERIC SANDEEN What We'll Cover ● Local “Enterprise-ready” Linux filesystems ● Ext3 ● Ext4 ● XFS ● BTRFS ● Use cases, features, pros & cons of each ● Recent & future work ● Features ● Scalability ● Benchmarks 2 ERIC SANDEEN Local Filesystems in RHEL6 ● We ship what customers need and can rely on ● We ship what we test and support ● Major on-disk local filesystems ● Ext3, Ext4, XFS, BTRFS* ● Others are available for special purposes ● fat, vfat, msdos, udf, cramfs, squashfs... ● We'll cover the “big four” today 3 ERIC SANDEEN The Ext3 filesystem ● Ext3 is was the most common file system in Linux ● Most distributions historically used it as their default ● Applications tuned to its specific behaviors (fsync...) ● Familiar to most system administrators ● Ext3 challenges ● File system repair (fsck) time can be extremely long ● Limited scalability - maximum file system size of 16TB ● Can be significantly slower than other local file systems ● direct/indirect, bitmaps, no delalloc ... 4 ERIC SANDEEN The Ext4 filesystem ● Ext4 has many compelling new features ● Extent based allocation ● Faster fsck time (up to 10x over ext3) ● Delayed allocation, preallocation ● Higher bandwidth ● Should be relatively familiar for existing ext3 users ● Ext4 challenges ● Large device support not polished in its user space tools ● Limits supported maximum file system size to 16TB* ● Has different behavior over system failure 5 ERIC SANDEEN The XFS filesystem ● XFS is very robust
    [Show full text]
  • CIS Ubuntu Linux 18.04 LTS Benchmark
    CIS Ubuntu Linux 18.04 LTS Benchmark v1.0.0 - 08-13-2018 Terms of Use Please see the below link for our current terms of use: https://www.cisecurity.org/cis-securesuite/cis-securesuite-membership-terms-of-use/ 1 | P a g e Table of Contents Terms of Use ........................................................................................................................................................... 1 Overview ............................................................................................................................................................... 12 Intended Audience ........................................................................................................................................ 12 Consensus Guidance ..................................................................................................................................... 13 Typographical Conventions ...................................................................................................................... 14 Scoring Information ..................................................................................................................................... 14 Profile Definitions ......................................................................................................................................... 15 Acknowledgements ...................................................................................................................................... 17 Recommendations ............................................................................................................................................
    [Show full text]
  • Proceedings of the Linux Symposium Volume
    Proceedings of the Linux Symposium Volume Two July 19th–22nd, 2006 Ottawa, Ontario Canada Contents Evolution in Kernel Debugging using Hardware Virtualization With Xen 1 Nitin A. Kamble Improving Linux Startup Time Using Software Resume (and other techniques) 17 Hiroki Kaminaga Automated Regression Hunting 27 A. Bowen, P. Fox, J. Kenefick, A. Romney, J. Ruesch, J. Wilde, & J. Wilson Hacking the Linux Automounter—Current Limitations and Future Directions 37 Ian Maxwell Kent & Jeff Moyer Why NFS Sucks 51 Olaf Kirch Efficient Use of the Page Cache with 64 KB Pages 65 Dave Kleikamp and Badari Pulavarty Startup Time in the 21st Century: Filesystem Hacks and Assorted Tweaks 71 Benjamin C.R. LaHaise Using Hugetlbfs for Mapping Application Text Regions 75 H.J. Lu, K. Doshi, R. Seth, & J. Tran Towards a Better SCM: Revlog and Mercurial 83 Matt Mackall Roadmap to a GL-based composited desktop for Linux 91 K.E. Martin and K. Packard Probing the Guts of Kprobes 101 A. Mavinakayanahalli, P. Panchamukhi, J. Keniston, A. Keshavamurthy, & M. Hiramatsu Shared Page Tables Redux 117 Dave McCracken Extending RCU for Realtime and Embedded Workloads 123 Paul E. McKenney OSTRA: Experiments With on-the-fly Source Patching 139 Arnaldo Carvalho de Melo Design and Implementation to Support Multiple Key Exchange Protocols for IPsec 143 K. Miyazawa, S. Sakane, K. Kamada, M. Kanda, & A. Fukumoto The State of Linux Power Management 2006 151 Patrick Mochel I/O Workload Fingerprinting in the Genetic-Library 165 Jake Moilanen X86-64 XenLinux: Architecture, Implementation, and Optimizations 173 Jun Nakajima, Asit Mallick GCC—An Architectural Overview, Current Status, and Future Directions 185 Diego Novillo Shared-Subtree Concept, Implementation, and Applications in Linux 201 Al Viro & Ram Pai The Ondemand Governor 215 Venkatesh Pallipadi & Alexey Starikovskiy Linux Bootup Time Reduction for Digital Still Camera 231 Chan-Ju Park A Lockless Pagecache in Linux—Introduction, Progress, Performance 241 Nick Piggin The Ongoing Evolution of Xen 255 I.
    [Show full text]
  • Ted Ts'o on Linux File Systems
    Ted Ts’o on Linux File Systems An Interview RIK FARROW Rik Farrow is the Editor of ;login:. ran into Ted Ts’o during a tutorial luncheon at LISA ’12, and that later [email protected] sparked an email discussion. I started by asking Ted questions that had I puzzled me about the early history of ext2 having to do with the perfor- mance of ext2 compared to the BSD Fast File System (FFS). I had met Rob Kolstad, then president of BSDi, because of my interest in the AT&T lawsuit against the University of California and BSDi. BSDi was being sued for, among other things, Theodore Ts’o is the first having a phone number that could be spelled 800-ITS-UNIX. I thought that it was important North American Linux for the future of open source operating systems that AT&T lose that lawsuit. Kernel Developer, having That said, when I compared the performance of early versions of Linux to the current version started working with Linux of BSDi, I found that they were closely matched, with one glaring exception. Unpacking tar in September 1991. He also archives using Linux (likely .9) was blazingly fast compared to BSDi. I asked Rob, and he served as the tech lead for the MIT Kerberos explained that the issue had to do with synchronous writes, finally clearing up a mystery for me. V5 development team, and was the architect at IBM in charge of bringing real-time Linux Now I had a chance to ask Ted about the story from the Linux side, as well as other questions in support of real-time Java to the US Navy.
    [Show full text]
  • Bull System Backup / Restore N O V a SC a LE
    Bull System Backup / Restore NOVASCALE User's Guide for NovaScale Universal & Intensive REFERENCE 86 A2 73EV 04 NOVASCALE Bull System Backup / Restore User's Guide for NovaScale Universal & Intensive Software November 2008 BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE REFERENCE 86 A2 73EV 04 The following copyright notice protects this book under Copyright laws which prohibit such actions as, but not limited to, copying, distributing, modifying, and making derivative works. Copyright Bull SAS 2008 Printed in France Suggestions and criticisms concerning the form, content, and presentation of this book are invited. A form is provided at the end of this book for this purpose. To order additional copies of this book or other Bull Technical Publications, you are invited to use the Ordering Form also provided at the end of this book. Trademarks and Acknowledgements We acknowledge the right of proprietors of trademarks mentioned in this book. Intel ® and Itanium ® are registered trademarks of Intel Corporation. Windows ® and Microsoft ® software are registered trademarks of Microsoft Corporation. UNIX ® is a registered trademark in the United States of America and other countries licensed exclusively through the Open Group. Linux ® is a registered trademark of Linus Torvalds. NovaScale ® is a registered trademark of Bull The information in this document is subject to change without notice. Bull will not be liable for errors contained herein, or for incidental or consequential damages in connection with the use of this material.
    [Show full text]
  • CIS Red Hat Enterprise Linux 7 Benchmark
    CIS Red Hat Enterprise Linux 7 Benchmark v2.1.1 - 01-31-2017 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License. The link to the license terms can be found at https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode To further clarify the Creative Commons license related to CIS Benchmark content, you are authorized to copy and redistribute the content for use by you, within your organization and outside your organization for non-commercial purposes only, provided that (i) appropriate credit is given to CIS, (ii) a link to the license is provided. Additionally, if you remix, transform or build upon the CIS Benchmark(s), you may only distribute the modified materials if they are subject to the same license terms as the original Benchmark license and your derivative will no longer be a CIS Benchmark. Commercial use of CIS Benchmarks is subject to the prior approval of the Center for Internet Security. 1 | P a g e Table of Contents Overview ............................................................................................................................................................... 12 Intended Audience ........................................................................................................................................ 12 Consensus Guidance ..................................................................................................................................... 12 Typographical Conventions .....................................................................................................................
    [Show full text]
  • Embedded Linux Optimizations
    Embedded Linux optimizations Embedded Linux optimizations Size, RAM, speed, power, cost Michael Opdenacker Thomas Petazzoni Free Electrons © Copyright 2004-2009, Free Electrons. Creative Commons BY-SA 3.0 license Latest update: Dec 20, 2010, Document sources, updates and translations: http://free-electrons.com/docs/optimizations Corrections, suggestions, contributions and translations are welcome! 1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Penguin weight watchers Make your penguin slimmer, faster, and reduce its consumption of fish! Before 2 weeks after 2 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com CE Linux Forum http://celinuxforum.org/ Non profit organization, whose members are embedded Linux companies and Consumer Electronics (CE) devices makers. Mission: develop the use of Linux in CE devices Hosts many projects to improve the suitability of Linux for CE devices and embedded systems. All patches are meant to be included in the mainline Linux kernel. Most of the ideas introduced in this presentation have been gathered or even implemented by CE Linux Forum projects! 3 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Contents Ideas for optimizing the Linux kernel and executables Increasing speed Reducing size: disk footprint and RAM Reducing power consumption Global perspective: cost and combined optimization effects The ultimate optimization tool! 4 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Embedded Linux Optimizations Increasing speed Reducing kernel boot time 5 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support.
    [Show full text]
  • Linux Professional Institute Tutorials LPI Exam 101 Prep: Hardware and Architecture Junior Level Administration (LPIC-1) Topic 101
    Linux Professional Institute Tutorials LPI exam 101 prep: Hardware and architecture Junior Level Administration (LPIC-1) topic 101 Skill Level: Introductory Ian Shields ([email protected]) Senior Programmer IBM 08 Aug 2005 In this tutorial, Ian Shields begins preparing you to take the Linux Professional Institute® Junior Level Administration (LPIC-1) Exam 101. In this first of five tutorials, Ian introduces you to configuring your system hardware with Linux™. By the end of this tutorial, you will know how Linux configures the hardware found on a modern PC and where to look if you have problems. Section 1. Before you start Learn what these tutorials can teach you and how you can get the most from them. About this series The Linux Professional Institute (LPI) certifies Linux system administrators at two levels: junior level (also called "certification level 1") and intermediate level (also called "certification level 2"). To attain certification level 1, you must pass exams 101 and 102; to attain certification level 2, you must pass exams 201 and 202. developerWorks offers tutorials to help you prepare for each of the four exams. Each exam covers several topics, and each topic has a corresponding self-study tutorial on developerWorks. For LPI exam 101, the five topics and corresponding developerWorks tutorials are: Hardware and architecture © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 43 developerWorks® ibm.com/developerWorks Table 1. LPI exam 101: Tutorials and topics LPI exam 101 topic developerWorks tutorial Tutorial summary Topic 101 LPI exam 101 prep (topic (This tutorial). Learn to 101): configure your system Hardware and architecture hardware with Linux.
    [Show full text]
  • Filesystems for Embedded Linux
    Survey of Filesystems for Embedded Linux Presented by Gene Sally CELF Presentation °Filesystems In Summary ° What is a filesystem ° Kernel and User space filesystems ° Picking a root filesystem °Filesystem Round-up ° Slide-by-slide description of filesystems frequently used by embedded Linux engineers ° NFS and initramfs filesystems Drop by www.timesys.com 2 Diversion for Those New to Linux/Embedded: The Kernel and Filesystem ° The RFS and Kernel are separate entities. ° Related? Yes, but not so tightly bound that they can’t change independently. ° A filesystem must be present for the kernel to start successfully. ° Can be an in memory filesystem, network filesystem ° Can be “attached” to the kernel image loaded into memory ° This filesystem mounted at /, aptly called the root filesystem (RFS) ° Can have a system with several filesystem types For those new to using Linux for an embedded ° The Linux kernel, after startipnrgoje, cwt, ihlalv mingo au snepta trahte kfeirlneesl aynsdt uesmer- and execute some program.space takes some explaining, even for those ° While they may be packaged togewthhoe urs,e t Lhienu rxo oon tt hfeilire dseysskttoepm. is a separate entity from the kernel. Drop by www.timesys.com 3 Filesystems in Linux: General Features ° Linux (like Unix) is designed to use any number of arbitrary filesystems ° Provides uniform interface to filesystems through the VFS (Virtual FileSystem) ° Provides shared routines (like caching) ° Physical storage not necessary (think proc filesystem) ° Filesystems implemented as kernel modules
    [Show full text]