Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3129984
  • 博文数量: 685
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5303
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 14:17
个人简介

文章分类

全部博文(685)

文章存档

2015年(116)

2014年(569)

分类: 嵌入式

2014-10-11 10:54:39

原文地址:http://blog.chinaunix.net/uid-22590270-id-3242501.html

squashfs 是眾多Live CD使用的檔案系統,Why?因為它那嚇死人的壓縮率,舉個例子,以筆者製做的root file system為例,壓縮過後的initial ram disk大小為1.3MB,但squashfs製做出來的file system image只有500多k,squashfs image居然只有compressed initial ram disk image一半的容量,這種節省儲存空間和記憶體空間的檔案系統,最適合在台灣用了,因為代工廠最需要的cost down,這種軟體技術做到了在小容量記憶體系統中放大檔案的可能性

可惜目前Linux-2.6.26還沒有支援squashfs,所以必需去patch kernel才能使用,首先至,目前最新的版本是3.4,解壓縮後,參照以下指令執行patch

  1. %cd /usr/src/linux-2.6.26
  2. %patch -p1 < location-of-squashfs/kernel-patches/linux-2.6.26/squashfs3.4-patch


然後編譯製作squafs file system image的工具

  1. %cd location-of-squashfs/squashfs3.4/squashfs-tools
  2. %make


會得到兩支執行檔mksquashfs和unsquashfs,mksquashfs是製做映像檔的工具,unsquashfs可解壓縮印像檔並查看內容,詳細的使用方法請參考

製做squashfs檔案系統的指令很簡單,用法大致如下

  1. %mksquashfs [source] [dest]
  2. %mksquashfs ./fs squashfs.root


kernel command line請修改為” mem=64M console=ttySAC0 initrd=0x32000000,2000000 root=/dev/ram0 rootfstype=squashfs”,這裡的範例是根據QT2410設定的,假設我們把squashfs image下載到板子上的0x32000000且其大小為2MB,rootfstype為squashfs,kernel開機完會mount /dev/ram0的squasfs image,可參考如下圖片


阅读(1393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~