Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1955602
  • 博文数量: 185
  • 博客积分: 10707
  • 博客等级: 上将
  • 技术积分: 1777
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-19 17:31
文章分类

全部博文(185)

文章存档

2014年(1)

2012年(6)

2011年(27)

2010年(13)

2009年(75)

2008年(63)

分类: LINUX

2008-11-13 20:41:27

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,可參考如下圖片

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