quakelee 回复于:2003-06-24 20:28:54 |
??
兄台能不能给个下载连接? 这个确定能用不? |
Matteo_NET 回复于:2003-06-24 20:31:01 |
应该没有问题,我在5.1上试过,是在原gbfs上修改的,原gbfs只是在两个fs中添加了cs的编码。
如果有问题的话,请大家及时反馈。 |
红袖添香 回复于:2003-06-24 20:36:39 |
...
那个补丁是针对什么的,为什么可以省略? :em14: |
Matteo_NET 回复于:2003-06-24 20:40:07 |
gbfs 的 port就是两个diff, 在source tree中的msdos 和 cd9660 两个部分添加了中文编码,是编译后的module可以识别中文。 |
quakelee 回复于:2003-06-24 20:41:31 |
[quote:1f5ae9f233="Matteo_NET"]附件是针对FreeBSD 5.x 系列的gbfs 的修正文件。
安装方法: (以下操作必须以 root 的身份进行) 1. download the gbfs-1.0-for-freebsd5.xR.tar.gz to /tmp 2. cd /usr/ports/chinese/gbfs 3. make extract ..........[/quote:1f5ae9f233] 能不能用邮件发给我,我放在我的空间里 现在看不到,所以不知道是patch还是新的源文件 |
Matteo_NET 回复于:2003-06-24 20:45:08 |
发到你hotmail的信箱里了。 |
quakelee 回复于:2003-06-24 20:47:41 |
[quote:6ee223b93a="Matteo_NET"]发到你hotmail的信箱里了。[/quote:6ee223b93a]
啊~ 不要呀那个破邮箱老收不到,发到这里吧 刚才忘了写了不好意思 quake@263.net |
Matteo_NET 回复于:2003-06-24 20:50:46 |
发了,发了 |
quakelee 回复于:2003-06-24 20:54:05 |
[quote:78e8db7a48="Matteo_NET"]发了,发了[/quote:78e8db7a48] :P :P :P
谢了哦~ |
Matteo_NET 回复于:2003-06-24 20:55:19 |
赶快找些同志测试测试,反馈一下。
:):):):):) |
quakelee 回复于:2003-06-24 20:56:48 |
我现在测试不了,只能贴上让大家测试了,sigh,穷呀
还有个问题,我看了文件,是两个patch,不用patch打一下行不? 省略6、7是啥意思? |
quakelee 回复于:2003-06-24 21:02:32 |
好了搞定了,说说上面两个问题咋回事? |
Matteo_NET 回复于:2003-06-24 21:06:38 |
现在说说gbfs整个port的安装过程。 (简单的 make install的过程实际如下)
首先是下载port需要的文件(这是废话) 然后make extract, 在这一步过程中会解压下载的文件到 work,然后拷贝/usr/src 下的cd9660 和msdosfs的source code 到work 里。 然后会运行make patch,这一步在普通的port中是在原文件打上for bsd的patch,不过在这个port里是对cd9660和msdosfs运用gbfs的两个diff。 然后就是make, make 就是建立cd9660和msdosfs两个modules,然后是make install,就是安装modules和执行脚本gbfs.sh 。 其实freebsd 的ports安装只用make install,但是其实就是以上步骤的连续运行。 |
红袖添香 回复于:2003-06-24 21:06:59 |
[quote:e583458ac0="quakelee"]我现在测试不了,只能贴上让大家测试了,sigh,穷呀
还有个问题,我看了文件,是两个patch,不用patch打一下行不? 省略6、7是啥意思?[/quote:e583458ac0] 7 是可以省略,Makefile 中 install 前肯定是要判断那些文件在不在,不在的话,就会 build 前面所需文件,就是 make 了。 不过 6 ... :em14: |
Matteo_NET 回复于:2003-06-24 21:09:55 |
我看了你网站,不需要下载4.x的gbfs,其实4.x的gbfs也是两个diff,我只是稍微修改了一下这两个diff,使其符合5.x的source code |
lzn88 回复于:2003-06-24 21:10:24 |
# make extract
===> Extracting for zh-gbfs-1.0 >> Checksum OK for gbfs-1.0.tar.gz. # cd work/ # tar zvxf /tmp/gbfs-1.0-for-freebsd5.xR.tar.gz cd9660.diff msdosfs.diff # ls .extract_done.zh-gbfs-1.0 gbfs.sh cd9660 msdos cd9660.diff msdosfs.diff # make patch make: don't know how to make patch. Stop ??? |
quakelee 回复于:2003-06-24 21:12:38 |
是呀是呀,我也是奇怪的我记得ports只能自动打上files里面以patch-开头的补丁,没听说能把目录中.diff文件也当成补丁自动打,除非改Makefile~ |
quakelee 回复于:2003-06-24 21:14:40 |
[quote:3c0a6a3440="Matteo_NET"]我看了你网站,不需要下载4.x的gbfs,其实4.x的gbfs也是两个diff,我只是稍微修改了一下这两个diff,使其符合5.x的source code[/quote:3c0a6a3440]
我没用ports装过gbfs,都是手动编译的,所以我不知道~ 不明白为啥是两个diff呢? 原来4.x是两个完整的文件呀 |
quakelee 回复于:2003-06-24 21:16:54 |
猛然间发现那个4.x的包包里面忘了打上源码了,靠~ |
Matteo_NET 回复于:2003-06-24 21:17:25 |
步骤6的patch,是patch的当前的ports,而非是其他依赖关系的patch。
因为现在相当大部分的新软件是直接for linux的,然后port到freebsd上,所以对其makefile和一小部分的source code 进行patch。 而gbfs的安装过程,他的port的Makefile定义的patch的行为就是对cd9660和msdosfs分别进行两个diff的patch,和普通port的make patch的定义不太一样。 |
quakelee 回复于:2003-06-24 21:19:31 |
[quote:6b08bc60ba="Matteo_NET"]步骤6的patch,是patch的当前的ports,而非是其他依赖关系的patch。
因为现在相当大部分的新软件是直接for linux的,然后port到freebsd上,所以对其makefile和一小部分的source code 进行patch。 而gbfs的安装过..........[/quote:6b08bc60ba] 啊~ ports里面的那个东东是修改/usr/src里面的两个源码文件来得么? |
Matteo_NET 回复于:2003-06-24 21:20:59 |
[quote:50e552f3ed="lzn88"]# make extract
===> Extracting for zh-gbfs-1.0 >> Checksum OK for gbfs-1.0.tar.gz. # cd work/ # tar zvxf /tmp/gbfs-1.0-for-freebsd5.xR.tar.gz cd9660.diff msdosfs.diff # ls .extract_d..........[/quote:50e552f3ed] 对不起,漏了一步,请看顶楼贴。 |
Matteo_NET 回复于:2003-06-24 21:23:10 |
[quote:bd1c234f47="quakelee"]
啊~ ports里面的那个东东是修改/usr/src里面的两个源码文件来得么?[/quote:bd1c234f47] 你可以连接到ftp.freebsd.org 的ports/distfiles ,下个gbfs-1.0.tar.gz 回来看看就是两个diff而已。 看看/usr/ports/chinese/gbfs/Makefile 就知道是什么回事了。 |
quakelee 回复于:2003-06-24 21:26:45 |
偶最开始是用cjacker给我的源码编译的,当时好像不是diff的~
记不得了,后来我就编译过两次,忘了是怎么弄得了,记得最开始的包包里面还有cjacker写的说明:( |
lzn88 回复于:2003-06-24 21:27:06 |
那就是怎么做? |
quakelee 回复于:2003-06-24 21:28:55 |
[quote:28fb2f396a="lzn88"]那就是怎么做?[/quote:28fb2f396a]
我短时间试验不了了,请大家有条件的赶快试验一下,看看步骤上有没有问题,我就是和mathew探讨一下 |
Matteo_NET 回复于:2003-06-24 21:34:58 |
我估计cjacker但是给你的就是打好了patch的cd9660和msdosfs的source code |
quakelee 回复于:2003-06-24 21:36:09 |
[quote:272da6f012="Matteo_NET"]我估计cjacker但是给你的就是打好了patch的cd9660和msdosfs的source code[/quote:272da6f012]
可能,55555555555,那个源码包在那块坏掉的硬盘上 :em16: :em16: :em16: :em10: |
xmake 回复于:2003-06-24 21:41:13 |
我也要!xmake@tom.com |
quakelee 回复于:2003-06-24 21:42:46 |
[quote:896b958bc1="xmake"]我也要!xmake@tom.com[/quote:896b958bc1]
别激动,我已经放在主页上了,下载就行了 |
xmake 回复于:2003-06-24 21:48:29 |
昏这个东西太好了啊。。。弄了好久没搞定。大头班长那个搞不定。哎。看看这个了。你搞定了写个详细的出来啊。。。 |
Matteo_NET 回复于:2003-06-24 21:50:13 |
[quote:35195d5cf2="xmake"]昏这个东西太好了啊。。。弄了好久没搞定。大头班长那个搞不定。哎。看看这个了。你搞定了写个详细的出来啊。。。[/quote:35195d5cf2]
quakelee网站上的那个就是我给的文件,不需要下载4.x的文件 |
quakelee 回复于:2003-06-24 21:51:56 |
[quote:138c9e0c78="Matteo_NET"]
quakelee网站上的那个就是我给的文件,不需要下载4.x的文件[/quote:138c9e0c78] 忘了应该写上你的名字hoho 疏忽了 |
Matteo_NET 回复于:2003-06-24 21:54:01 |
[quote:41fb1a2c50="quakelee"]
忘了应该写上你的名字hoho 疏忽了[/quote:41fb1a2c50] 写不写我的名字无所谓,只要大家知道下哪个文件就行了。 其实还是改感谢cjaker 提供这个patch,感谢statue 维护这个port。 |
lzn88 回复于:2003-06-24 21:56:53 |
我make patch make install都成功了,重新启动后还是一样啊,我的kernel上已经去掉了msdosfs之类的了,还有什么问题吗?我在gnome下看到的还是???问号 |
Matteo_NET 回复于:2003-06-24 22:00:06 |
[quote:bc59c94d42="lzn88"]我make patch make install都成功了,重新启动后还是一样啊,我的kernel上已经去掉了msdosfs之类的了,还有什么问题吗?我在gnome下看到的还是???问号[/quote:bc59c94d42]
你启动的时候看到load gb-msdos, gb-9660 了吗? 运行 kldstat,看看加载这两个modules了没有 |
Matteo_NET 回复于:2003-06-24 22:06:51 |
因为freebsd启动的时候,mount /etc/fstab 中的分区是在加载gbfs的cd9660和msdosfs模块之前的,所以mount 分区的时候就会调用原source code的msdosfsmodule,请看下面的解决方法。
你弄张中文目录的cd,mount一下看看,能不能正常。 [code:1:3dead7291d]汉化的XFree86和KDE后,下一个要解决的问题就是FreeBSD的中文文件名问题。这才是真正的FreeBSD汉化。不过操作起来很简单。在FreeBSD中,当你用ls中文文件名的时候,看到的不是各种乱码,而是多个?号或者-号。这时候,需要安装gnuls和gbfs包。使用上面的Ports操作,可以很容易安装他们。安装后reboot系统。你会在启动信息里看到一些错误信息: module_register: module cd9660 already exists! linker_file_sysinit "cd9660.ko" failed to register! 17 如果你没有看清楚,查看/var/log/message。查看/usr/local/etc/rc.d看到里面多了一个启动脚本gbfs.sh。其内容是用kldload加载/usr/local/modules下的模块。到/usr/local/modules/下看看,看到里面有两个模块文件cd9660.ko和msdos.ko。使用kldload来手动加载cd9660.ko。依然显示上面的错误。上网查资料才知道,需要修改kernel配置文件注释掉以下几行: options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options CD9660_ROOT #CD-ROM usable as root, CD9660 required 然后重新编译并安装内核。ok先试试,反正FreeBSD编译内核的速度奇快。编译、安装内核后,reboot。但错误依然。这是怎么回事?这时,我在想为什么要注释掉上面呢三行,难道说要让FreeBSD不支持msdos和cd文件系统?显然不是,因为我还是可以mount上fat分区。我想,这可能是要强制FreeBSD对msdos和cd文件系统的支持在module模式下运行。而我在/etc/fstab中添加了在启动时mount我的fat分区的内容。因此FreeBSD先使用了原来的msdos.ko。当gbfs.sh加载自己的msdos.ko时,当然回出现错误了。ok,试试看。把/modules/cd9660.ko和/modules/msdos.ko备份一下。然后把/usr/local/modules/msdos.ko和/usr/local/modules/cd9660.ko拷贝到/modules下,删除/usr/local/etc/rc.d/gbfs.sh。reboot系统。在~/.cshrc下增加如下内容: alias ls 'gnuls --show-control-chars' 这回看看msdos下的中文文件名。哈哈,OK了。[/code:1:3dead7291d] |
lzn88 回复于:2003-06-24 22:12:14 |
I got it!!!
跟4.X的时候一样,忽然想起来,不能在/etc/fstab中加上要mount的分区,要在启动后再mount就行了,好像是/etc/fstab执行在load这两个之前 不过如果是在刚安装新的没有msdosfs的内核后不要重新启动,装上gbfs再重启就可以 |
lzn88 回复于:2003-06-24 22:15:21 |
5.X下我没找到/modules |
Matteo_NET 回复于:2003-06-24 22:17:46 |
[quote:b700778d61="lzn88"]I got it!!!
跟4.X的时候一样,忽然想起来,不能在/etc/fstab中加上要mount的分区,要在启动后再mount就行了,好像是/etc/fstab执行在load这两个之前 不过如果是在刚安装新的没有msdosfs的内核后不要重新启动,装?..........[/quote:b700778d61] 其实也可以直接在/etc/fstab 中mount 分区,只要把 /usr/local/modules 目录下的两个文件覆盖掉kernel module目录中的相同文件就可以,当然还要删掉rc中的gbfs.sh,要不会出现重复加载的错误。 你现在应该可以看见中文目录和中文文件名了吧。 |
quakelee 回复于:2003-06-24 22:19:01 |
快点lzn我也想知道结果哦 :D |
Matteo_NET 回复于:2003-06-24 22:19:36 |
[quote:68234c5661="lzn88"]5.X下我没找到/modules[/quote:68234c5661]
我记得应该都在/boot/kernel 下,你到/boot目录下看看,应该有个kernel目录的就是你当前内核的所有东西都在里面。 我机器上是4.8,记不太清楚了。 |
lzn88 回复于:2003-06-24 22:43:36 |
能看到中文了,能播中文mp3了,不过好像有点问题,改不了中文的目录名和文件名 |
Matteo_NET 回复于:2003-06-24 22:48:38 |
改名时出现的错误提示是什么?mount的分区是否writable?
你能在rxvt等终端下,在msdos的分区 mkdir 中文目录吗? 或者mv 一个中文文件到另一个中文文件名? |
quakelee 回复于:2003-06-24 22:50:08 |
[quote:3799adaf7c="lzn88"]能看到中文了,能播中文mp3了,不过好像有点问题,改不了中文的目录名和文件名[/quote:3799adaf7c]
再试试~ |
lzn88 回复于:2003-06-24 22:52:57 |
的确不能
不能将英文名的文件改成有中文的,不能将有中文的改加英文的或中文的 我是root,不会是权限不够吧 |
quakelee 回复于:2003-06-24 22:54:50 |
啊~,以前没发现有这种问题的? |
lzn88 回复于:2003-06-24 22:56:40 |
以前??
Nautilus下没有中文啊,改英文为英文的都没有问题 |
quakelee 回复于:2003-06-24 22:58:44 |
[quote:269d1b7394="lzn88"]以前??
Nautilus下没有中文啊,改英文为英文的都没有问题[/quote:269d1b7394] Nautilus下面怎么会没有中文??? :shock: 原来nautilus下面可是有中文的 msdos分区里面的中文都能显示出来的 |
Matteo_NET 回复于:2003-06-24 23:00:02 |
你可以在控制台或终端下试试吗?我没有用过Nautilus
在终端下mv 或 mkdir看看 |
lzn88 回复于:2003-06-24 23:00:40 |
[quote:115c72df2e="Matteo_NET"]改名时出现的错误提示是什么?mount的分区是否writable?
你能在rxvt等终端下,在msdos的分区 mkdir 中文目录吗? 或者mv 一个中文文件到另一个中文文件名?[/quote:115c72df2e] 都有 |
quakelee 回复于:2003-06-24 23:04:02 |
[quote:783f4a5d6d="lzn88"]
都有[/quote:783f4a5d6d] 那不可能呀nautilus应该也能改的~ |
lzn88 回复于:2003-06-24 23:04:14 |
[quote:d77b9a5c3c="Matteo_NET"]你可以在控制台或终端下试试吗?我没有用过Nautilus
在终端下mv 或 mkdir看看[/quote:d77b9a5c3c] 看来是Nautilus的问题,终端下可以mkdir及mv中文名文件,不过ls是???相信是ls的问题,装上gnuls应该就没问题了 |
Matteo_NET 回复于:2003-06-24 23:06:17 |
[quote:d4bf40897f="lzn88"]
都有[/quote:d4bf40897f] 都有? :shock: 都有什么?能不能详细点? |
Matteo_NET 回复于:2003-06-24 23:07:25 |
我就估计是Nautilus的问题,呵呵,ls 的问题只有通过gnuls 解决。
好了,大功告成。 :):):):):) |
lzn88 回复于:2003-06-24 23:07:43 |
[quote:1a8ae642fd="quakelee"]
Nautilus下面怎么会没有中文??? :shock: 原来nautilus下面可是有中文的 msdos分区里面的中文都能显示出来的[/quote:1a8ae642fd] 是么,那我的怎么都是问号?要是能显示出来,这gbfs不就用不着了? |
quakelee 回复于:2003-06-24 23:14:18 |
nautilus以前没有问题的呀?
gnome2.2我都用过可以显示的呀 |
lzn88 回复于:2003-06-24 23:26:17 |
[quote:f995clearcase/" target="_blank" >cc898c="Matteo_NET"]
我记得应该都在/boot/kernel 下,你到/boot目录下看看,应该有个kernel目录的就是你当前内核的所有东西都在里面。 我机器上是4.8,记不太清楚了。[/quote:f995cc898c] cp进去了,重启ok了,没有删gbfs.sh |
Matteo_NET 回复于:2003-06-25 10:48:55 |
up 一下 |
哈蜜瓜 回复于:2003-06-25 11:47:14 |
FreeBSD 5.1下gbfs测试成功,非常感谢!
望能尽快成熟,并加入FreeBSD ports |
zyme 回复于:2003-06-25 13:20:00 |
各位,看看我的两个“lnk"怎么显示不出汉字,而是怪符号??
这个图里,谢谢 http://www.chinaunix.net/forum/viewtopic.php?t=98009&start=15#645961 |
哈蜜瓜 回复于:2003-06-25 14:50:40 |
:arrow:
[img:5f975e35fe]http://www.linuxsir.com.cn/photo/freebsd/freebsd51.png[/img:5f975e35fe] |
Matteo_NET 回复于:2003-06-25 15:28:02 |
[quote:13f0fcda8a="zyme"]各位,看看我的两个“lnk"怎么显示不出汉字,而是怪符号??
这个图里,谢谢 http://www.chinaunix.net/forum/viewtopic.php?t=98009&start=15#645961[/quote:13f0fcda8a] 这个问题不关gbfs的事,你可以试试建立一个者几个汉字的文件夹看看是否成功。 我这里还有个更有意思的问题呢 http://www.chinaunix.net/forum/viewtopic.php?p=651122#651122 |
哈蜜瓜 回复于:2003-06-25 18:40:32 |
刚才我比较了两种msdos的diff,发现修改的地方也只有两处,对吧?
statue兄刚才把这两个diff和原有的两个打包成新的gbfs-1.1,看来新的gbfs ports马上就会出现。 ftp://freebsd.sinica.edu.tw/pub/statue/gbfs/gbfs-1.1.tar.gz |
Matteo_NET 回复于:2003-06-25 18:55:40 |
对,因为原理是一样的,都是在source code中添加chinese unicode的编码。
主要是因为5.x的source code和4.x的有些地方有变化,只是针对这些变化做些小改动就可以了。 我今天早上把文件发给statue兄的,statue兄说做成一个port就可以了,还得麻烦statue兄修改port的Makefile了,应该很快就可以提交了。 |
哈蜜瓜 回复于:2003-06-25 19:01:17 |
估计statue兄可能会根据FreeBSD的版本来选择不同的补丁。
其实考虑到本身修改较少,可否直接在ports中加入修改这一差别的功能? |
Matteo_NET 回复于:2003-06-25 19:30:17 |
[quote:651c2137b4="哈蜜瓜"]估计statue兄可能会根据FreeBSD的版本来选择不同的补丁。
其实考虑到本身修改较少,可否直接在ports中加入修改这一差别的功能?[/quote:651c2137b4] 这个当然是可以的,稍微修改一下port 的Makefile , 加入对版本的判断,反正gz文件中两种版本的patch都有,根据判断后得到的结果,应用不同的patch就可以了。所以说,还得改动port的Makefile,这个就有劳statue兄了。 |
哈蜜瓜 回复于:2003-06-25 19:32:02 |
兄弟能否弄个ntfs.diff的中文补丁出来?
big5fs有这个diff,不过在ports中被broken了。 这里保留了4.0stable的ntfs中文目录补丁过的源代码。(可惜我一直找不到diff) ftp://freebsd.sinica.edu.tw/pub/statue/gbfs/cnfs2.tgz |
statue 回复于:2003-06-25 20:06:33 |
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/53707 |
Macolex 回复于:2004-12-30 14:41:20 |
好, 好!!
好贴!! |