Internet Super Server
SNMP
Telenet
SSH
HTTP
DHCP
bootloaders
network booting
Disk/CF LILO
DiskOnChip GRUB
U-Boot
Overview
When the RFS content and storage media are ready, the developer can setup and mount RFS. First of all, we must select the file system for RFS, then convert the content to the required file system, or install the RFS on the devices.
File Systems
It is a comprehensive procedure to select the file systems, which is a balance of media properties, performance, system configuration. The developer should consider following issues when he design the file system. Of course, the developer can use two file systems as combination for embedded system.
Is the file system writeable?
Is the file system using pemernent storage?
Should the system recovery from power off?
Does the file system support compressed?
Does the file loaded to RAM first?
Besides those, the developer has better to read the manual of selected file systems to find out its limitation.
NFS/RFS
Overview
Most of the embedded systems are using memory devices rather than HDDs. The memory devices includes RAM, ROM, CFI NOR flash, NAND flash, Compact flash, PCMCIA card and other flash cards. Accordingly, there are many different file systems and technologies available for different memory devices. The developer have to study the combination and feature sets for the whole projects. Sometimes more than one file system must be used in a single system. And the operation of file and partitions are quite different from standard PC. MTD (Memory Technology Device) is available for embedded Linux.
Devices supported by MTD
http://www.linux-mtd.infradead.org/
MTD subsystem is developing independently. The developer has to download the latest source from this site to integrate with your kernels.
Basic of MTD
The MTD has own device files in mtdN (character device), mtdrN (character device, read only), mtdblockN (block device, read only, JFFS/JFFS2), nftlLN (NFTL), ftlN (FTL).
Configure MTD in the Kernel
Structure of RFS
libc
kernel module
kernel image
device file
main system application
custom application
system init
Kernel Selection
Kernel keeps growing to support new hardware and devices. The developer should study the kernel very carefully to check the availablity of specified features in the kernels.
Kernel Configuration
Build Kernel
Install Kernel
Linux is a major operation system in embedded systems, more and more developers consider Linux for the future projects. The reason why Linux gets popular is due to its nature of open source. However development of embedded Linux is quite complicated and demands very deep know-how in whole operation system, from tools, kernels, bootloader, memory technologies and kernels. It is absolutely a technology massive job to develop an embedded Linux project. For those developers who are more familiar with Windows platform or small embedded systems, it is better to install a Linux PC from scratch and learn to work on Linux desktop PC as first step.
|