前段时间在 linux 2.6.15、linux 2.6.16 和 linux 2.6.25上加过 squashfs+lzma。现在又要在 linux 2.6.35.4 上加,由于此版本的 kernel 里已经有 squashfs,只要加上 lzma 即可。
大概步骤:
1. 下载 squashfstools、lzma 源码及其相关补丁;
2. 给 kernel 打补丁、配置及编译;
3. 给 squashfstools 打补丁及编译带lzma的 mksquashfs。
4. 测试
一、下载sqauchfs lzma源码:
1. squashfs4.0.tar.gz:
因为 kernel 里 squashfs 是 4.0 的版本,所以也要下载 4.0 的squashfs工具,地址如下:
2. 下载 kernel lzma 补丁:
我怕以后这个地址有变找不到这个补丁,在附件中留了一份。
3. 下载 squashfs4.0 lzma 补丁:
1)、
2)、
4. 根据squashfs4.0 lzma 补丁内容下载 lzma465 库:
下载完后有以下文件:
lzma465.tar.bz2
squashfs4.0.tar.gz
100-portability.patch
110-lzma.patch
linux-2.6.35.4-squashfs-lzma.patch
这些文件都在 /home/longjindong/squashfs4.0 中。
二、kernel 打补丁、配置及编译:
1. 打补丁
- cd linux-2.6.35.4
- patch -p1 < /home/longjindong/squashfs4.0/linux-2.6.35.4-squashfs-lzma.patch
2. 配置kernel
make menuconfig --> File systems ---> [*] Miscellaneous filesystems --->
<*> SquashFS 4.0 - Squashed file system support
[*] Include support for LZMA compressed file systems
当然了,cmdline 的 rootfstype 也要相应的设为 squashfs。
3. 配设完后输入 make, 就可以得 kernel image.
三、squashfstools 打补丁及编译:
1. 解压
- cd /home/longjindong/sqaushfs4.0/
- tar xvf lzma465.tar.bz2
- tar xvf squashfs4.0.tar.gz
2. 打补丁
- cd /home/longjindong/squashfs4.0/squashfs4.0
- patch -p1 < /home/longjindong/squashfs4.0/100-portability.patch
patch -p1 < /home/longjindong/squashfs4.0/110-lzma.patch
3. 编译
这样以后mksquashfs 就在 /home/longjindong/squashfs4.0/squashfs4.0/squashfs-tools目录里。
./mksquashfs --help可以看到支持 lzma了
- ./mksquashfs
- SYNTAX:./mksquashfs source1 source2 ... dest [options] [-e list of excludedirs/files]
Filesystem build options:
- -comp select compression
- Compressors available:
- gzip (default)
- lzma
四、测 试:
1. 做 image:
- ./mksquashfs -comp lzma rootfs rootfs-lzma.bin
2. 烧到板上,能正常启动,而且这个文件系统速度很快。
Patch 附件:
阅读(6877) | 评论(7) | 转发(3) |