= Embedded Linux Session 5 = == Points covered: == 1. Linux root filesystem: Principles and solutions: i. Filesystems. i. mount/umount. i. Root filesystem. i. Location of the root filesystem. i. Mounting rootfs from storage devices. i. rootfs in memory: initramfs. 1. Linux root filesystem contents: i. Root filesystem organization. i. Important directories. i. Separation of programs and libraries. i. Devices: a. Types of devices. a. Devices: every thing is a file. a. Device file examples. a. Creating device files. i. proc virtual filesystem. i. proc contents i. sysfs filesystem. i. Basic applications. i. Overall booting process. 1. Busybox: i. Why BusyBox? i. General purpose toolbox: BusyBox. i. BusyBox commands. i. Applet highligh: BusyBox init. i. Applet highlight - BusyBox vi. i. Configuring BusyBox. i. BusyBox make xconfig. i. Compiling BusyBox. 1. Block filesystems: i. Block vs. flash. i. Block device list. i. Traditional block filesystems. i. Journaled filesystems. i. Filesystem recovery after crashes. i. Journaled block filesystems. i. Creating ext2/ext3 volumes. i. Mounting filesystem images. i. Squashfs. a. Squashfs - How to use. i. tmpfs. i. Mixing read-only and read-write filesystems. 1. Flash filesystems: i. The MTD subsystem i. MTD devices i. MTD partitioning i. Definition of MTD partitions i. Modifying MTD partitions i. mtd-utils i. jffs2 a. jffs2 - How to use a. How to create a jffs2 image a. Mounting a jffs2 image on your host a. Initializing jffs2 partitions from U-boot i. yaffs2 a. yaffs2 - How to use i. UBI a. UBIFS a. UBI layout a. UBI - Preparation a. UBI - Attaching a. UBI - Volume management a. UBIFS - How to use a. Ubinize a. UBIFS - How to prepare a root fs i. Our benchmarks i. Issues with flash-based block storage i. Reducing the number of writes 1. Filesystem choice summary == Present: == * Mohamed Nour El-Din. * Islam Hassan. * Ahmed Mamdouh == Assignments: == *If you have a memory card, try to work on the "Block filesystems" lab. *Download busybox & explore it using "make menuconfig". *Search for qemu & what it's capable of. == See also: == [[https://wiki.ubuntu.com/EgyptTeam/Events/2011-07-08-EmbeddedLinuxSessions|Session 1: 2011-07-08-EmbeddedLinuxSessions]] <
> [[https://wiki.ubuntu.com/EgyptTeam/Events/2011-07-23-EmbeddedLinuxSessions|Session 2: 2011-07-23-EmbeddedLinuxSessions]] <
> [[https://wiki.ubuntu.com/EgyptTeam/Events/2011-07-30-EmbeddedLinuxSessions|Session 3: 2011-07-30-EmbeddedLinuxSessions]] <
> [[https://wiki.ubuntu.com/EgyptTeam/Events/2011-08-06-EmbeddedLinuxSessions|Session 4: 2011-08-06-EmbeddedLinuxSessions]]