LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 889|回复: 3

slax livecd制作脚本,大家一块来帮忙!

[复制链接]
发表于 2005-4-19 14:51:17 | 显示全部楼层 |阅读模式
slax的脚本问题的

FanX需要在系统启动时挂载FAT/NTFS分区时加上iocharset=cp936的参数并且能正确写入fstab,这是在initrd中实现的,脚本就是来制作initrd文件的。

主要是liblinuxlive里的mount_device()
和activate_fstab()两段的内容。atfa曾经修改过4.1.2的脚本,可是5系列的完全不同,总是通不过。

他说把liblinuxlive文件里面mount_device这个函数的内容替换成下面的代码可以实现挂载中文,可是测试没有通过。没有出错信息,也没有起作用。

代码:

mount_device()
{
mkdir -p $2
OPTIONS1="-o codepage=cp936"
if [ "$3" != "" ]; then OPTIONS1="-o $3,codepage=cp936"; fi
if [ "$3" != "" ]; then OPTIONS2="-o $3"; fi

PRINTK=`cat /proc/sys/kernel/printk`
echo "0" >/proc/sys/kernel/printk

mount -t auto $1 $2 $OPTIONS1 >/dev/null 2>/dev/null
err=$?

if [ "$err" != 0 ]; then
err=""
mount -t auto $1 $2 $OPTIONS2 >/dev/null 2>/dev/null
fi
err=$?

if [ "$err" -ne 0 ]; then rmdir $2 2>/dev/null; fi
echo "$PRINTK" >/proc/sys/kernel/printk
return $err
}

这是5.0.12的脚本 http://www.linuxfans.org/nuke/modules/Forums/files/initrd.zip
这是4.1.2 atfa修改过的脚本 http://www.linuxfans.org/nuke/mo ... 1.2-initrd-atfa.zip

欢迎大家一起来讨论,脚本完成后FanX-1.0就可以放出了。
发表于 2005-4-29 11:10:27 | 显示全部楼层

改成这样试试

mount_device()
{
mkdir -p $2
OPTIONS1="-o codepage=cp936"
if [ -n $3 ]; then
       OPTIONS1="-o $3,codepage=cp936"
       OPTIONS2="-o $3"
fi


PRINTK=`cat /proc/sys/kernel/printk`
echo "0" >/proc/sys/kernel/printk

mount -t auto $1 $2 $OPTIONS1 >/dev/null 2>/dev/null
err=$?

if [ "$err" != 0 ]; then
err=""
mount -t auto $1 $2 $OPTIONS2 >/dev/null 2>/dev/null
fi
err=$?

if [ "$err" -ne 0 ]; then rmdir $2 2>/dev/null; fi
echo "$PRINTK" >/proc/sys/kernel/printk
return $err
}
回复 支持 反对

使用道具 举报

发表于 2005-4-30 01:18:42 | 显示全部楼层
牛人呀牛人
回复 支持 反对

使用道具 举报

发表于 2005-11-7 17:24:34 | 显示全部楼层
学习fanx 1.1中。谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表