Root File-System for Raspberry Pi Bastian Arjun Shajit Department of Electrical Engineering Aalto University P.O

Total Page:16

File Type:pdf, Size:1020Kb

Root File-System for Raspberry Pi Bastian Arjun Shajit Department of Electrical Engineering Aalto University P.O Root File-System for Raspberry Pi Bastian Arjun Shajit Department of Electrical Engineering Aalto University P.O. Box 11000, FI-00076 AALTO [email protected] ABSTRACT providing a small set of primitive and distinct APIs, the complex In terms of file system, Linux is often referred to as the Swiss file system logic is implemented. This simple but powerful Army knife among operating systems, particularly supporting a abstraction is known as the VFS [12] (Virtual File System) layer large number of exotic file systems for a pot-pourri of platforms in the Linux kernel architecture. When referring to a file system, it with different architectures. The purpose of this article is not to is safe to assume that both the kernel and the root file system capture the internal mechanics of file system nor does it provide a encompass one another in a loosely bound manner. Both the definitive and a complete reference to the file system properties kernel and the root file system work hand-in-hand to drive the but is aimed at exploring the possibilities of creating a system to a state where it can function properly and provide an minimalistic root file system for the SD-card used in Raspberry Pi environment where further file systems (if any) can be loaded. In platform and reviews some the existing *NIX based file systems reality, there are more file systems available at a user’s discretion and attempts to provide a comparative analysis of the performance than there are operating systems. *NIX systems have their fair aspects of different user-space, kernel and RAM based file system. share of file systems in acronym fashion: EXT2fs, UBIfs, JFFS2[13] etc and each of these file systems cater to different needs of the users. These file systems can be broadly classified General Terms into the categories discussed below. The list of categories is not Theory, Documentation, Performance, Design, Experimentation meant to be exhaustive but simply tries to show the different file systems that are available. Keywords 1. Block-device File Systems: File system, Buildroot, crosstool-ng, cross-compiler. Those devices whose logical and physical addresses are organized and addressed in terms of blocks are called block 1. INTRODUCTION devices. Most of the file systems are designed for such devices At the core of any operating system, it is apparent that any wherein these devices are treated as a simple linear collection of data is stored as series of 1s & 0s easily conceivable by the blocks irrespective of the underlying disk geometry. Some file machine. With gargantuan amount of data present, file system was systems which fall under this category are variations of the EXT designed as a novel way to organize such data. A file system can FS, VFAT, etc. be defined as a methodology wherein an operating system establishes a set of protocols for keeping track of data and 2. Flash Friendly File Systems: metadata of files on any storage media. In simpler terms, it can be Flash Memory, available in different technological referred to as a directory tree that is used to organize files which variations, is a type of non-volatile memory storage. The two Linux users refer to as the root file system. The term file system most common type of flash devices are the raw flash device can be defined in two different ways (NAND or NOR) and the FTL devices (eMMC, SD, SSD, etc). It can refer to the abstract structure in which files are FTL (Flash Translation Layer) is a software module that emulates named and logically stored in a storage media i.e., it a block device on a raw flash device. The basic difference represents the hierarchical structure in which the between the two device is that an FTL device contains a built-in important system files are organized, also known as the controller that runs a firmware and one or more NAND/NOR root file system (or) chips. Though FTL devices are common these days, most embedded device still use bare flashes without an FTL controller It can refer to the core driver such as UBIfs[10], due to its cost effectiveness and such devices have many special ext2[11] etc which provides the core support for requirements/features such as wear-leveling; erase blocks, garbage implementing the abstraction defined above in the collection etc, which further heightens the need for some sort of operating system/kernel. special file translation layer. The memory technology device The Linux file system architecture can be defined as one of (MTD) subsystem of the Linux provides such a generic interface the perfect epitome of abstracting complexity; in short by for these devices by providing read, write and erase access. File systems such as UBIFS, JFFS2 etc are meant for use on MTDs. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are 3. In-Memory File Systems: not made or distributed for profit or commercial advantage and that copies These file systems can allocate a part of the physical memory to bear this notice and the full citation on the first page. To copy otherwise, be used as a partition. It’s a known fact that the read/write or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. performance on RAM is high compared to other storage devices. Conference’10, Month 1–2, 2010, City, State, Country. There are a number of ways to create a file system in-memory, e.g, Copyright 2010 ACM 1-58113-000-0/00/0010 …$15.00. ramfs, tmpfs, ramdisks etc. 4. User Space File Systems: be used on a different architecture/platform by compiling in the native machine. So the question arises, Why not develop and Such file systems are able to completely reside in the user-space compile natively in Raspberry Pi? The main reason for such a and do not have a compelling need to belong to the kernel. preference is due to the limited RAM and slow speed compared to However these file systems will likely have to interact with the an average PC. In addition, an average PC usually has various kernel VFS and this is made possible by the FUSE (File system in development tools that can ease and speed up the process of USErspace) modules, which does all the transactions on behalf of creating binaries for the target machine (Raspberry Pi). the user applications. Hence any user-space file system has both the kernel and the user space libraries. NTFS-3g is one such user With a myriad of cross compiling tools available, the easiest and space file system. One of the distinct advantages of having a file quickest is to use pre existing compiler tool-chain available [6] or system in user space is that even if the file system were to crash, it to use a custom built toolchain which will be discussed in the might lead to an application crash and prevents any damage to the following section. system as a whole. 2.1 Custom Toolchain Figure 1, illustrates the structure of the file system architecture in A simple toolchain can be set-up using the crosstool-ng available the Linux Kernel. from the project website [3]. This section assumes that the user already knows the HOWTO of setting up a toolchain and provides an overview of the RPi specific configuration. To get the configuration menu for crosstool-ng toolchain run, ct-ng menuconfig. It is highly essential to have the following packages installed for ensuring a smooth cross compiler build process: texinfo, subversion, libtool, automake, g++, flex, gperf, bison, gawk, git, rsync, cmake, ia32-libs. RPi is a 32bit device and hence these libraries help compile binaries as a 32-bit executable, since the native machine used for RPi development could be a 64bit Debian distro. There is a wealth of information available online on how to compile Crosstool-NG toolchain from the project website. The following config options are specific to Raspberry Pi and can be provided in the config menu of the cross-ng toolchain: Target Architecture : arm Endianness : Little Endian Bitness : 32 bit Figure 1: Linux Kernel File System Architecture Target OS : Linux With a variety of file system at hand, the assessment required to Floating Point : Hardware choose one from the list is purely based on the requirements and Select ‘Use EABI’ the system. This document primarily deals with Raspberry Pi platform; an ARM based embedded device. To keep the decision- o Select ‘append ‘hf’ to the tuple’ making process simple for the user, some factors that need Prefix Directory : </your/custom/path/for/install > consideration are Most other configuration can be left to their default values and The type of operating system on the device. run ct-ng build, to create the required binaries. Now all that remains is to export the cross compiler directory to the Linux The type of data and I/O access that the system will environment variable. predominantly encounter. export PATH=$PATH:</your/custom/path/for/bin> The types and the size of storage media. With the cross compiler now set-up, any development code can be A variety of storage media are available, each with its own compiled with the new cross compiled toolchain. characteristics (such as accessibility, volatility, capacity, performance, energy usage, life) and these characteristics form an 3. BUILDROOT important factor in selecting the type of file system to be mounted on the device. 3.1 General Overview Buildroot is a simple tool for automating the process of building a In the following sections will slowly progress step by step by cross compiled Linux system for embedded devices.
Recommended publications
  • LSP 1.20 Davinci Linux NOR Flash Device Driver
    LSP 1.20 DaVinci Linux NOR Flash Driver User's Guide Literature Number: SPRUF10 April 2008 2 SPRUF10–April 2008 Submit Documentation Feedback Contents 1 Overview............................................................................................................................. 5 1.1 System Requirements .................................................................................................... 5 1.2 Design Overview .......................................................................................................... 6 2 Installation Guide................................................................................................................. 7 2.1 List of Installable Components .......................................................................................... 7 2.2 Component Folder ........................................................................................................ 7 2.3 Development Tools ....................................................................................................... 7 2.4 Build......................................................................................................................... 8 2.5 Steps to Load/Unload the NOR Flash Driver.......................................................................... 8 3 NOR Flash Driver Porting...................................................................................................... 9 3.1 Customizing the NOR-flash partitions .................................................................................
    [Show full text]
  • O'reilly Linux Kernel in a Nutshell.Pdf
    ,title.4229 Page i Friday, December 1, 2006 9:52 AM LINUX KERNEL IN A NUTSHELL ,title.4229 Page ii Friday, December 1, 2006 9:52 AM Other Linux resources from O’Reilly Related titles Building Embedded Linux Running Linux Systems Understanding Linux Linux Device Drivers Network Internals Linux in a Nutshell Understanding the Linux Linux Pocket Guide Kernel Linux Books linux.oreilly.com is a complete catalog of O’Reilly’s Resource Center books on Linux and Unix and related technologies, in- cluding sample chapters and code examples. Conferences O’Reilly brings diverse innovators together to nurture the ideas that spark revolutionary industries. We spe- cialize in documenting the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit conferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier on- line reference library for programmers and IT professionals. Conduct searches across more than 1,000 books. Subscribers can zero in on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today for free. ,title.4229 Page iii Friday, December 1, 2006 9:52 AM LINUX KERNEL IN A NUTSHELL Greg Kroah-Hartman Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo ,LKNSTOC.fm.8428 Page v Friday, December 1, 2006 9:55 AM Chapter 1 Table of Contents Preface . ix Part I. Building the Kernel 1. Introduction . 3 Using This Book 4 2. Requirements for Building and Using the Kernel .
    [Show full text]
  • AMD Alchemy™ Processors Building a Root File System for Linux® Incorporating Memory Technology Devices
    AMD Alchemy™ Processors Building a Root File System for Linux® Incorporating Memory Technology Devices 1.0 Scope This document outlines a step-by-step process for building and deploying a Flash-based root file system for Linux® on an AMD Alchemy™ processor-based development board, using an approach that incorporates Memory Technology Devices (MTDs) with the JFFS2 file system. Note: This document describes creating a root file system on NOR Flash memory devices, and does not apply to NAND Flash devices. 1.1 Journaling Flash File System JFFS2 is the second generation of the Journaling Flash File System (JFFS). This file system provides a crash-safe and powerdown-safe Linux file system for use with Flash memory devices. The home page for the JFFS project is located at http://developer.axis.com/software/jffs. 1.2 Memory Technology Device The MTD subsystem provides a generic Linux driver for a wide range of memory devices, including Flash memory devices. This driver creates an abstracted device used by JFFS2 to interface to the actual Flash memory hardware. The home page for the MTD project is located at http://www.linux-mtd.infradead.org. 2.0 Building the Root File System Before being deployed to an AMD Alchemy platform, the file system must first be built on an x86 Linux host PC. The pri- mary concern when building a Flash-based root file system is often the size of the image. The file system must be designed so that it fits within the available space of the Flash memory, with enough extra space to accommodate any runtime-created files, such as temporary or log files.
    [Show full text]
  • Ensuring Data Confidentiality Via Plausibly Deniable Encryption and Secure Deletion – a Survey Qionglu Zhang1,2,3, Shijie Jia1,2*, Bing Chang4 and Bo Chen5*
    Zhang et al. Cybersecurity (2018) 1:1 Cybersecurity https://doi.org/10.1186/s42400-018-0005-8 SURVEY Open Access Ensuring data confidentiality via plausibly deniable encryption and secure deletion – a survey Qionglu Zhang1,2,3, Shijie Jia1,2*, Bing Chang4 and Bo Chen5* Abstract Ensuring confidentiality of sensitive data is of paramount importance, since data leakage may not only endanger data owners’ privacy, but also ruin reputation of businesses as well as violate various regulations like HIPPA and Sarbanes-Oxley Act. To provide confidentiality guarantee, the data should be protected when they are preserved in the personal computing devices (i.e., confidentiality during their lifetime); and also, they should be rendered irrecoverable after they are removed from the devices (i.e., confidentiality after their lifetime). Encryption and secure deletion are used to ensure data confidentiality during and after their lifetime, respectively. This work aims to perform a thorough literature review on the techniques being used to protect confidentiality of the data in personal computing devices, including both encryption and secure deletion. Especially for encryption, we mainly focus on the novel plausibly deniable encryption (PDE), which can ensure data confidentiality against both a coercive (i.e., the attacker can coerce the data owner for the decryption key) and a non-coercive attacker. Keywords: Data confidentiality, Plausibly deniable encryption, Secure deletion Introduction Spahr LLP: State and local governments move swiftly to Modern computing devices (e.g., desktops, laptops, smart sue equifax 2017); Third, it will directly violate regulations phones, tablets, wearable devices) are increasingly used like HIPAA (Congress 1996), Gramm-Leach-Bliley Act to process sensitive or even mission critical data.
    [Show full text]
  • ANDROID PRIVACY THROUGH ENCRYPTION by DANIEL
    ANDROID PRIVACY THROUGH ENCRYPTION by DANIEL DEFREEZ A THESIS Presented to the Department of Computer Science in partial fullfillment of the requirements for the degree of Master of Science in Mathematics and Computer Science Ashland, Oregon May 2012 ii APPROVAL PAGE “Android Privacy Through Encryption,” a thesis prepared by Daniel DeFreez in partial fulfillment of the requirements for the Master of Science in Mathematics and Computer Science. This project has been approved and accepted by: Dr. Lynn Ackler, Chair of the Examining Committee Date Pete Nordquist, Committee Member Date Hart Wilson, Committee Member Date Daniel DeFreez c 2012 iii ABSTRACT OF THESIS ANDROID PRIVACY THROUGH ENCRYPTION By Daniel DeFreez This thesis explores the field of Android forensics in relation to a person’s right to privacy. As the field of mobile forensics becomes increasingly sophisticated, it is clear that bypassing common privacy measures, such as disk encryption, will become routine. A new keying method for eCryptfs is proposed that could significantly mitigate memory attacks against encrypted file systems. It is shown how eCryptfs could be modified to implement this keying method on an Android device. iv ACKNOWLEDGMENTS I would like to thank Dr. Lynn Ackler for introducing me to the vast world of computer security and forensics, cultivating a healthy paranoia, and for being a truly excellent teacher. Dr. Dan Harvey, Pete Nordquist, and Hart Wilson provided helpful feedback during the preparation of this thesis, for which I thank them. I am deeply indebted to my friends and colleagues Brandon Kester, Andrew Krug, Adam Mashinchi, Jeff McJunkin, and Stephen Perkins, for their enthusiastic interest in the forensics and security fields, insightful comments, love of free software, and encouraging words.
    [Show full text]
  • Linux, Locking and Lots of Processors
    A little bit of history Linux, Locking and Lots of Processors • Multix in the ’60s Peter Chubb • Ken Thompson and Dennis Ritchie in 1967–70 • USG and BSD [email protected] • John Lions 1976–95 October 2017 • Andrew Tanenbaum 1987 • Linus Torvalds 1991 Data61 Copyright ⃝c 2017 Linux,LockingandLotsofProcessors 2 To give a complete rundown on the features and internals of Linux would take The history of UNIX-like operating systems is a history of people being dis- a very very long time — it’s a large and complex operating system, with many satisfied with what they have and wanting to do something better. It started interesting features. when Ken Thompson got a bit burnt-out programming MULTICS and wanted Instead, I’m going to give a bit of history of POSIX OSes leading up to Linux, to port a computer game (Space Travel). He found a disused PDP-7, and a (very brief) skim over the key abstractions and how they’re implemented, wrote an interactive operating system to run his game. The main contribution and then talk about some things I’ve done over the last few years to improve at this point was the simple file-system abstraction. And the key ingredients Linux scalability, and to evaluate filesystem performance. I’ll also touch on there were firstly that the OS did not interpret file contents — an ordinary file Amdahl’s law and Gunther’s more general ‘Universal Scalability Law’ in this is just an array of bytes. Semantics are imposed by the user of the file.
    [Show full text]
  • 0137017839.Pdf
    Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside the United States, please contact: International Sales [email protected] Visit us on the Web: informit.com/aw Library of Congress Cataloging-in-Publication Data: Hallinan, Christopher. Embedded Linux primer : a practical real-world approach / Christopher Hallinan. p. cm. ISBN 978-0-13-701783-6 (hardback : alk. paper) 1. Linux. 2. Operating systems (Computers) 3. Embedded computer systems--Programming. I. Title. QA76.76.O63H34462 2011 005.4’32--dc22 2010032891 Copyright © 2011 Pearson Education, Inc. All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise.
    [Show full text]
  • Monitoring Raw Flash Memory I/O Requests on Embedded Linux
    Flashmon V2: Monitoring Raw NAND Flash Memory I/O Requests on Embedded Linux Pierre Olivier Jalil Boukhobza Eric Senn Univ. Europeenne de Bretagne Univ. Europeenne de Bretagne Univ. Europeenne de Bretagne Univ. Bretagne Occidentale, Univ. Bretagne Occidentale, Univ. Bretagne Sud, UMR6285, Lab-STICC, UMR6285, Lab-STICC, UMR6285, Lab-STICC, F29200 Brest, France, F29200 Brest, France, F56100 Lorient, France [email protected] [email protected] [email protected] ABSTRACT management mechanisms. One of these mechanisms is This paper presents Flashmon version 2, a tool for monitoring implemented by the Operating System (OS) in the form of embedded Linux NAND flash memory I/O requests. It is designed dedicated Flash File Systems (FFS). That solution is adopted in for embedded boards based devices containing raw flash chips. devices using raw flash chips on embedded boards, such as Flashmon is a kernel module and stands for "flash monitor". It smartphones, tablet PCs, set-top boxes, etc. Linux is a major traces flash I/O by placing kernel probes at the NAND driver operating system in such devices, and provides a wide support for level. It allows tracing at runtime the 3 main flash operations: several NAND flash memory models. In these devices the flash page reads / writes and block erasures. Flashmon is (1) generic as chip itself does not embed any particular controller. it was successfully tested on the three most widely used flash file This paper presents Flashmon version 2, a tool for monitoring systems that are JFFS2, UBIFS and YAFFS, and several NAND embedded Linux I/O operations on NAND secondary storage.
    [Show full text]
  • Linux Interface Specification Yocto Recipe Start-Up Guide Rev.1.09
    User ’s Manual ’s Linux Interface Specification Yocto recipe Start-Up Guide User’s Manual: Software RZ/G2 group All information contained in these materials, including products and product specifications, represents information on the product at the time of publication and is subject to change by Renesas Electronics Corp. without notice. Please review the latest information published by Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. website (http://www.renesas.com). www.renesas.com Rev.1.09 Aug. 31, 2021 Notice 1. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and damages incurred by you or third parties arising from the use of these circuits, software, or information. 2. Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other claims involving patents, copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information described in this document, including but not limited to, the product data, drawings, charts, programs, algorithms, and application examples. 3. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others. 4. You shall not alter, modify, copy, or reverse engineer any Renesas Electronics product, whether in whole or in part.
    [Show full text]
  • Embedded Android
    Embedded Android 1 These slides are made available to you under a Creative Commons Delivered and/or customized by Share-Alike 3.0 license. The full terms of this license are here: https://creativecommons.org/licenses/by-sa/3.0/ Attribution requirements and misc., PLEASE READ: ● This slide must remain as-is in this specific location (slide #2), everything else you are free to change; including the logo :-) ● Use of figures in other documents must feature the below “Originals at” URL immediately under that figure and the below copyright notice where appropriate. ● You are free to fill in the “Delivered and/or customized by” space on the right as you see fit. ● You are FORBIDEN from using the default “About” slide as-is or any of its contents. (C) Copyright 2010-2017, Opersys inc. These slides created by: Karim Yaghmour Originals at: www.opersys.com/training/embedded-android 2 About ● Author of: ● Introduced Linux Trace Toolkit in 1999 ● Originated Adeos and relayfs (kernel/relay.c) ● Training, Custom Dev, Consulting, ... 3 About Android ● Huge ● Fast moving ● Stealthy 4 About Android ● Huge ● Fast moving ● Stealthy Mainly: ● Internals-specifics are subject to change Therefore: ● Must learn to relearn every new release 5 Goals ● Master the intricacies of all components making up Android, including kernel Androidisms ● Get hands-on experience in building and customizing Android-based embedded systems ● Learn basics of Android app development ● Familiarize with the Android ecosystem 6 Format ● Tracks: ● Lecture ● Exercises ● Fast pace ● Lots
    [Show full text]
  • I.MX Linux® Reference Manual
    i.MX Linux® Reference Manual Document Number: IMXLXRM Rev. 0, 03/2016 i.MX Linux® Reference Manual, Rev. 0, 03/2016 2 Freescale Semiconductor, Inc. Contents Section number Title Page Chapter 1 About this Book 1.1 Audience....................................................................................................................................................................... 27 1.1.1 Conventions................................................................................................................................................... 27 1.1.2 Definitions, Acronyms, and Abbreviations....................................................................................................27 Chapter 2 Introduction 2.1 Overview.......................................................................................................................................................................31 2.1.1 Software Base................................................................................................................................................ 31 2.1.2 Features.......................................................................................................................................................... 31 Chapter 3 Machine Specific Layer (MSL) 3.1 Introduction...................................................................................................................................................................37 3.2 Interrupts (Operation)..................................................................................................................................................
    [Show full text]
  • Adapting the Linux Kernel for Micron® P30, P33, and J3 Flash Memory
    TN-12-06: Adapting the Linux Kernel for P30, P33, and J3 Flash Introduction Technical Note Adapting the Linux Kernel for Micron® P30, P33, and J3 Flash Memory Introduction The Linux environment differs from other operating environments in several ways. The Micron® P30, P33, and J3 family of parallel NOR Flash memory devices can easily be adapted for the Linux environment via the memory technology device (MTD), and the Linux environment can be modified for correct operation with the devices. This technical note provides a guide for modifying the MTD device-layer software for correct use with Micron P30, P33, and J3 devices. It also describes the modifications required in the Linux environment. Enabling Buffered Programming in 2.4.x Kernels Buffered programming features are not included in the MTD for kernel versions prior to 2.4.6. To take advantage of enhanced performance provided by the buffered program- ming feature, a proprietary do_write_buffer() function must be implemented and included in the Linux Flash driver. Enabling P30, P33, and J3 1KB Buffered Programming Compared to devices with smaller buffer sizes, the 1KB buffer sizes found in P30, P33, and J3 devices provide significant performance increases. For kernel versions 2.6.13 and later, the MTD driver automatically supports the 1KB buffer size (when the Flash memory is used in 16-bit mode). Enabling the larger buffer size in older versions of the kernel requires the code modification shown in the following example. Apply this path in the mtd/cfi.h file: - static inline map_word cfi_build_cmd(u_char cmd, struct map_info *map, struct cfi_private *cfi) + static inline map_word cfi_build_cmd(u_long cmd, struct map_info *map, struct cfi_private *cfi) PDF: 09005aef845efc68/Source: 09005aef845efbb7 Micron Technology, Inc., reserves the right to change products or specifications without notice.
    [Show full text]