将你的mo模块转换为lzm模块

  slax6中引入了更加优秀的lzm模块,与mo相比lzm的压缩比更大,这样可以在相同的容量下加入更多的程序。

  如果你在使用slax5、fanx,手里一定有些好的mo的模块,这些模块也许slax6中还没有,如何将这些mo模块转换成slax6中可以使用的lzm模块呢?

  我去slax的论坛看了下,收集了3种转换的方式,所有的转换方式的原理都是相同的,都列出来给大家一个参考,推荐使用第三种方式。

方法一:

 # cd /tmp

# mkdir conversion

# mount -t squashfs -o loop yourmodule.mo /tmp/conversion

 # dir2lzm /tmp/conversion /path/newmodule.lzm

方法二:

# cd /tmp

# mkdir conversion

# lzm2dir yourmodule.mo conversion

# dir2lzm conversion newmodule.lzm

方法三:

#!/bin/bash
# Convert old MO to new LZM module
# Author: Quax <www.nekserve.de>
# based on img2mo from Tomas M. <www.linux-live.org>
#

if [ "$1" = "" ]; then
   echo
   echo "Convert mo format module ( ver > 5 < 6 ) to new .lzm format"
   echo "Usage: $0 oldmod.mo "
   exit
fi

PATH=.:$(dirname $0):/usr/lib:$PATH
. liblinuxlive || exit 1

allow_only_root

NAME=`echo $1 | cut -d. -f1`

TMP=/tmp/mo2lzm$$
mkdir -p $TMP

unsquashfs -f -dest "$TMP" "$1" >/dev/null

create_module "$TMP" "$NAME.lzm"
 if [ $? != 0 ]; then
  echo "error building compressed image"; exit 1;
 fi
rm -R $TMP

把这段程序保存mo2lzm,并赋予可执行属性(chmod +r mo2lzm),使用方式:mo2lzm yourmodule.mo

由 npcomet 于 周五, 07/27/2007 - 14:30 提交。