洁白的露水凝结成了霜,这一节说tinycore的软件包。它的后缀是.tcz,实质是压缩只读文件系统。这样说毕竟有点抽象,具体来说,它使用了SquashFS 。
SquashFS 是一个只读的文件系统,它可以将整个文件系统压缩在一起,存放在某个设备,某个分区或者普通的文件中。如果您将其压缩到一个设备中,那么您可以将其直接 mount 起来使用,而如果它仅仅是个文件的话,您可以将其当为一个 loopback 设备使用。也是一个只读的文件系统,它可以将整个文件系统压缩在一起,存放在某个设备,某个分区或者普通的文件中。如果您将其压缩到一个设备中,那么您可以将其直接 mount 起来使用,而如果它仅仅是个文件的话,您可以将其当为一个 loopback 设备使用。
我们来试试把相应的.tcz包解压开试试。解压.tcz包可以使用squashfs-tools这个工具。我们先用最简单的,即先直接用mount挂载。
还记得fireflysung这个包吗?
当时为了显示中文,需要字体,所以我们在线安装了这个包,它提供了一个支持中文显示的字体,但我要还是想安装自己喜欢的字体怎么办?
用mount挂载fireflysung.tcz这个包
在线安装的,包存储在用于储存的optional文件夹下。我们进入到这个文件夹下。
ls fireflysung* -l
-rw-r--r-- 1 better better 8818688 12月 13 10:14 fireflysung.tcz
-rw-r--r-- 1 better better 16 12月 13 10:14 fireflysung.tcz.dep
-rw-r--r-- 1 better better 50 12月 13 10:14 fireflysung.tcz.md5.txt
我们把fireflysung.tcz复制到自己的目录里,然后创建一个ext文件夹来用来挂载。
mkdir ext
然后使用mount 的 -t squashfs来挂载
sudo mount fireflysung.tcz ext -t squashfs -o loop,ro,bs=4096
挂载成功后进入会发现,他就是usr/share/fonts/文件夹的结构,然后在fonts下是两个ttf的字体。
使用squashfs-tools解压,压缩tcz软件包。
安装 squashfs-tools
tce-load -iw squashfs-tools
squashfs-tools解压tcz包。
squashfs-tools用unsquashfs 直接跟软件包解压:
unsquashfs fireflysung.tcz
Parallel unsquashfs: Using 2 processors
1 inodes (3771 blocks) to write
[=============================================================|] 3771/3771 100%
created 1 files
created 4 directories
created 0 symlinks
created 0 devices
created 0 fifos
生成了squashfs-root这个文件夹,它的子文件夹就是usr/share/fonts
tree squashfs-root
squashfs-root
└── usr
└── share
└── fonts
└── fireflysung.ttf
3 directories, 1 file
制作我们自己的字体包
这样就好办了,我么把自己想用的字体扔到squashfs-root/usr/share/fonts这个文件夹下,然后用squashfs-tool工具的mksquashfs命令生成自己的字体包。
mksquashfs squashfs-root myfonts.tcz
这样我们就有了自己的字体软件包,把它放到optional文件夹下,然后把它的名字添加到onboot.lst文件。
echo myfonts.tcz >> onboot.lst
重启开机后,就会发现/usr/share/fonts下的字体就是我们软件包中的字体,大功告成。
其它软件包
其它软件包也是这样,把软件编译好,然后用squashfs-tool工具压缩成.tcz的包就好。