Cramfs file system and embedded linux-general Linux technology-Linux programming and kernel information. The following is a detailed description. 1. Features of cramfs
In an embedded environment, both memory and external storage resources need to be saved. If you use the RAMDISK method to use the file system, after the system runs, you must first extract the image files from the external storage (Flash) to the memory to construct the RAMDISK environment, to start running the program. But it also has critical weaknesses. Under normal circumstances, the same Code not only occupies space in external storage (in the form of compression ), it also occupies more space in the memory (which exists in the form of decompression), which violates the requirement of saving resources as much as possible in the embedded environment.
Using cramfs is a way to solve this problem. Cramfs is a compressed file system that does not need to decompress all the content in the file system to the memory at a time, but only when the system needs to access data at a certain location, calculate the location of the data in cramfs immediately, decompress it To the memory in real time, and then obtain the data to be read in the file system through access to the memory. The data storage location in the cramfs after decompression and decompression is maintained by the cramfs file system. users do not need to know the specific implementation process. Therefore, this method enhances transparency, it is convenient for developers and saves storage space.
Cramfs has the following features:
Real-time decompression is adopted, but there is a delay in decompression.
Cramfs data is processed and packaged, so it is difficult to write data first. Therefore, cramfs does not support write operations. This feature is suitable for embedded applications that use Flash storage file systems.
In cramfs, the file size cannot exceed 16 MB.
The Group ID is supported, but mkcramfs only saves the low 8 bits of the gid. Therefore, only these 8 bits are valid.
Supports hard links. However, cramfs has not been fully processed. In the file attributes of hard links, the number of links is still 1.
There are no "." Or "." items in the cramfs directory. Therefore, the number of directories in cramfs is usually only one.
In cramfs, the file's timestamps information is not saved. Of course, because inode is stored in the memory, the time of the file in use can be changed to the latest time temporarily, but it will not be saved to the cramfs file system.
The current version of cramfs only supports the PAGE_CACHE_SIZE 4096 kernel. Therefore, if you find that cramfs cannot be normally read/written, you can check the kernel parameter settings.
2. Use cramfs
Download cramfs-1.1.tar.gzfrom http://sourceforge.net/projects/cramfs. Then execute
Tar zxvf cramfs-1.1.tar.gz
Enter the unpackage to generate the cramfs-1.1 directory and execute the compile command:
Make
After compilation, two tools, mkcramfs and cramfsck, are generated. The cramfsck tool is used to create the cramfs file system, and the mkcramfs tool is used to release and check the cramfs file system.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.