= 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]]