Lab 8 Department of Computer Science and Information Engineering National Taiwan University Lab8 - Root Filesystem 2015/11/10/ 22 1.

Slides:



Advertisements
Similar presentations
Computer System Laboratory
Advertisements

Lab 4 Department of Computer Science and Information Engineering National Taiwan University Lab4 - Bootloader 2014/10/14/ 13 1.
5 Basic utilities When a user logs in to the Linux operating system the directory that they will start in is their home directory. Most users will have.
Introduction to Unix (CA263) File System
Exploring the UNIX File System and File Security
GNU/Linux Filesystem 1 st AUT GNU/Linux Festival Computer Engineering & IT Department Bahador Bakhshi.
Linux+ Guide to Linux Certification, Second Edition
Linux Linux File System.
Guide To UNIX Using Linux Third Edition
Computer System Laboratory
COMPUTER SYSTEM LABORATORY Lab8 - Debugging II. Lab 8 Experimental Goal Learn how to debug Linux in source-level by Domingo and diagnose target boards.
COMPUTER SYSTEM LABORATORY Lab4 - Bootloader. Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA /10/8/ 142.
Lab 3 Department of Computer Science and Information Engineering National Taiwan University Lab3 - Cross Tools 2014/10/7/ 20 1.
Guide To UNIX Using Linux Fourth Edition
Linux Installation and Administration – Lesson 5 Tutor: George Papamarkos Topic: Devices in Linux.
Help session: Unix basics Keith 9/9/2011. Login in Unix lab  User name: ug0xx Password: ece321 (initial)  The password will not be displayed on the.
The file structure and related utilities CS240 Computer Science II.
Manage Directories and Files in Linux
Computer System Laboratory
Computer System Laboratory
Lab 11 Department of Computer Science and Information Engineering National Taiwan University Lab11 - Porting 2014/12/9/ 26 1.
Unix Basics Chapter 4.
Linux+ Guide to Linux Certification, Second Edition
Lab 1 Department of Computer Science and Information Engineering National Taiwan University Lab1 - Sensor 2014/9/23/ 13 1.
Porting Operating Systems Phan Duy Hùng (PhD) ES Lecturer – Hanoi FPT University.
Installation Overview Lab#2 1Hanin Abdulrahman. Installing Ubuntu Linux is the process of copying operating system files from a CD, DVD, or USB flash.
Chapter Two Exploring the UNIX File System and File Security.
Conventions Department of Computer Science and Information Engineering National Taiwan University Conventions 2014/9/16/ 3 1.
INTRODUCTION TO LINUX Jacob Chan. GNU/Linux Consists of Linux kernel, GNU utilities, and open source and commercial applications Works like Unix –Multi-user.
Lab 10 Department of Computer Science and Information Engineering National Taiwan University Lab10 – Debugging II 2014/12/2 1 /16.
COMPUTER SYSTEM LABORATORY Lab6 - Root Filesystem.
Guide to Linux Installation and Administration1 Chapter 4 Running a Linux System.
Filesystem Hierarchy Dr. Michael L. Collard 1.
Manage Directories and Files in Linux. 2 Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change.
Chapter Two Exploring the UNIX File System and File Security.
Implementation of Embedded OS Lab3 Linux Kernel Modules.
Lab 14 Department of Computer Science and Information Engineering National Taiwan University Lab14 – Camera 2014/12/30 1 /14.
Linux+ Guide to Linux Certification, Third Edition
PTA Linux Series Copyright Professional Training Academy, CSIS, University of Limerick, 2006 © Workshop V Files and the File System Part B – File System.
CS 245 – Part 1 Using Operating Systems and Networks for Programmers Jiang Guo Dept. of Computer Science California State University Los Angeles.
Lab 12 Department of Computer Science and Information Engineering National Taiwan University Lab12 – Driver 2014/12/16 1 /21.
Implementation of Embedded OS Lab3 Porting μC/OS-II.
SUSE Linux Enterprise Desktop Administration Chapter 7 Manage Directories and Files.
Linux Development Lecture 7. Schedule Linux Root Filesystem.
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 – Bootloader + OS Kernel 2015/10/27/ 25 1.
The Kernel At a high level, the kernel in an operating system serves as the bridge between applications and the actual data processing of the hardware.
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
Lab 3 Department of Computer Science and Information Engineering National Taiwan University Lab3 – μC/OS 2015/10/13/ 13 1.
Implementation of Embedded OS
Lab 7 Department of Computer Science and Information Engineering National Taiwan University Lab7 – uCOS Application 2015/11/10/ 10 1.
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 - OS Kernel 2014/10/21/ 16 1.
LINUX Zhengli Zhu, School of Life Sciences. Outline 1. ABC of Linux 2. Basic orers of Linux 3. Bash Programming.
ORAFACT The Linux File System. ORAFACT Filesystem Support Support for dozens of filesystem types including: Minix, ext2, MS-DOS, UMSDOS, VFAT, NTFS, NFS,
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com The U-boot bootloader Michael.
Computer System Laboratory
Implementation of Embedded OS
Computer System Laboratory
Linux 101 Training Module Linux Basics.
UBUNTU INSTALLATION
Structure of Unix OS.
9 Linux on the Desktop.
Implementation of Embedded OS
Lab 1 introduction, debrief
Exploring the UNIX File System and File Security
COP 4343 Unix System Administration
Computer System Laboratory
Computer System Laboratory
Computer System Laboratory
Computer System Laboratory
Lab 2: Terminal Basics.
Presentation transcript:

Lab 8 Department of Computer Science and Information Engineering National Taiwan University Lab8 - Root Filesystem 2015/11/10/ 22 1

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Learn how to build your own root filesystem for PXA /11/10/ 22 2

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Host System  Windows XP  Build System  VirtualBox + Ubuntu 8.04  Target System  Creator XScale PXA270  Software  Compiled toolchain  BusyBox  version.h  Script for mknod  Inittab  rcS  mkfs.jffs2 utility  You can find all software on CSL Course Software.CSL Course Software 2015/11/10/ 22 3

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  A file system is a method of storing and organizing computer files and their data.  A root filesystem is the file system that is contained on the same partition on which the root directory, i.e., / in Linux, is located.  The exact contents of the root filesystem will vary according to the computer, but they will include the files that are necessary for booting the system. 2015/11/10/ 22 4 Reference: linfo: root filesystem,

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Root filesystem follows FHS (Filesystem Hierarchy Standard).  FHS has the guideline of your filesystem. 2015/11/10/ 22 5

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Some well-known filesystems  Windows: FAT, NTFS  Mac OS X: HFS Plus, UFS  Linux: ext*, XFS, JFS, ReiserFS  We will use JFFS2 & ext2 in this lab.  JFFS2 (Journaling Flash File System Version 2)  A journaling file system.  Writable, compressed, power-down-reliable file system.  ext2 (The second extended filesystem)  A non-journaling file system.  Writable. 2015/11/10/ 22 6

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Step 1: create a folder for placing root filesystem content.  % mkdir $HOME/  Step 2: create the essential directories.  % cd  % mkdir etc lib var proc mnt dev tmp 2015/11/10/ 22 7

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  To compile BusyBox, we need to install another cross-compiler.  Step 1: download cross-compiler (cross tar.bz2).  Step 2: extract the compiler.  % tar jxvf cross tar.bz2  Step 3: move files to specified location.  % sudo mkdir –p /usr/local/arm  % sudo mv /usr/local/arm  Step 4: append installation directory (bin) to PATH.  Test new cross-compiler.  % arm-linux-gcc -v 2015/11/10/ 22 8

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  BusyBox contains a collection of stripped-down Unix utilities into a single executable.  Why BusyBox?  You don’t have to configure and build the sources of each utility.  Step 1: download BusyBox (busybox-1.00.tar.gz).  Step 2: extract the source codes.  Step 3: copy header from kernel source codes of Lab5.  % cd busybox-1.00  % cp –R /pxa270/linux/include/linux include 2015/11/10/ 22 9

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Step 4: download Linux verison.h.  % cp version.h include/linux  Step 5: configure BusyBox.  % make menuconfig  Build Options   Networking Utilities  2015/11/10/ 22 10

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Step 6: compile BusyBox.  % make  Step 7: install BusyBox.  % make install  Step 8: move files to your root filesystem folder (slide7).slide7  % mv _install/* 2015/11/10/ 22 11

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Device files allow user programs to access hardware devices on the system through the kernel.  The kernel just relies on device file’s type and major number to find which driver manages this device. 2015/11/10/ 22 12

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  The official information for device major and minor numbers can be found in Documentation/devices.txt under the kernel source codes.  We can use mknod command to create device files in Linux, e.g., if we want to create a character ttyS0 device with major number 4 and minor number 64:  % mknod ttyS0 c /11/10/ 22 13

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  For the convenience, we use a script to create related device files for our root filesystem:  download mknod.sh.  % cp mknod.sh /dev  % cd /dev  % sudo sh mknod.sh  % rm mknod.sh 2015/11/10/ 22 14

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Step 1: add configuration file used by first user-space program (i.e. /sbin/init ).  % download inittab.  % cp inittab /etc  inittab describes which processes are started during bootup.  The entry syntax of inittab.  id: runlevels:action:process ::sysinit:/etc/rcS ::askfirst:/bin/sh  sysinit: execute the process during system boot  askfirst: prompt “Please press Enter to activate this console.” before execution  Some other actions: respawn, ctrlaltdel 2015/11/10/ 22 15

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Step 2: add system initialization script ( rcS ).  % download rcS.  % cp rcS /etc  Step 3: change permission.  % cd /etc  % chmod 777 inittab rcS  Please refer to the website below for more information.  /11/10/ 22 16

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Step 1: make a JFFS2 file system image. (Download mkfs.jffs2 ) mkfs.jffs2  % chmod +x mkfs.jffs2  %./mkfs.jffs2 -v -e 0x pad=0xf r -o rootfs.jffs2  You can see the mkfs.jffs2 usage by executing without arguments.  (Optional) Step 1: or a ext2 file system image.  Install genext2fs package in Ubuntu  % genext2fs -b d -e 0 rootfs.ext2  Please refer to the website below for the genext2fs usage.  /11/10/ 22 17

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Step 2: now, you can copy rootfs.* image to PXA270.  If you choose ext2 format for your root filesystem, you need to change rootfstype in bootargs environment variable in U-Boot.  u-boot$ setenv bootargs root=/dev/mtdblock3 rw rootfstype=ext2 console=ttyS0,9600n8 mem=64M ip=...  u-boot$ saveenv 2015/11/10/ 22 18

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Recall Lab5, if we want to change the size of filesytem, we need to modify creator_pxa270_partitions[] in Linux kernel.  Also, the corresponding arguments are required to be set in mkfs.jffs2 and genext2fs commands, e.g. a 15M root filesystem.  %./mkfs.jffs2 -v -e 0x pad=0xf r -o rootfs.jffs2  % genext2fs -b d -e 0 rootfs.ext2 2015/11/10/ 22 19

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Now, please refer to previous slides to increase the size of your root filesystem to 20M and add tftp, lsmod, insmod, rmmod utility.  It will take about 8 minutes to copy new 20M root filesystem.  You can use “ df -h ” command to check the size.  You can add tftp client utility in BusyBox.  You can add lsmod, insmod, rmmod commands in BusyBox.  These commands are under “Linux Module Utilities”.  You need to check the support of 2.6.x Linux Kernels. 2015/11/10/ 22 20

Lab 8 Department of Computer Science and Information Engineering National Taiwan University 2015/11/10/ xA xA RAM U-Boot Flash 0x x x diag 0x x Linux kernel 1 Root Filesystem 0x U-Boot parameters 0x U-Boot 0xA3F80000 For lab8 Question

Lab 8 Department of Computer Science and Information Engineering National Taiwan University  Show that you can use tftp on your Linux kernel which has a 20M filesystem.  Please hand in your lab report to the FTP.  Server:  Username: csl2015  Password: csl2015HomeWork  Directory: lab7,8  Please use this format for filename: “G# Ver#”, where G# is your group id and Ver# is revision version number.  E.g., G1 Ver2 2015/11/10/ 22 22