[CALL FOR TESTERS] ReiserFS on non-i386 hardware patch
Jung-uk Kim
jkim at niksun.com
Wed Jun 1 15:33:23 PDT 2005
On Wednesday 01 June 2005 02:29 pm, Jean-Sébastien Pédron wrote:
> Sten Spans wrote:
> > A sample reiserfs image would be nice for testing.
>
> You're right, an image is available here (14 Mb compressed):
> http://people.freebsd.org/~dumbbell/reiserfs/images/REISERFS.bz2
I was able to mount and read it on amd64 but I had to modify
src/sys/modules/reiserfs/Makefile a bit (I will explain it later).
beastie# bunzip2 REISERFS.bz2
beastie# mdconfig -a -t vnode -f REISERFS -u 0
beastie# mount_reiserfs /dev/md0 /mnt
beastie# ls -l /mnt
total 8056
drwxr-xr-x 2 root wheel 96 8 6 2004 Evanescence
drwxr-xr-x 5 1000 1000 120 9 1 2004 GNUstep
-rw-r--r-- 1 1000 1000 4548644 8 23 2004 Shrek.mp3
lrwxrwxrwx 1 root wheel 27 9 1 2004 dir_symlink -> GNUstep/Library/WindowMaker
lrwxrwxrwx 1 root wheel 41 9 1 2004 evanesnce.mp3 -> Evanescence/Evanescence - My Immortal.mp3
-rw-r--r-- 2 1000 1000 3176 9 1 2004 file_hardlink
lrwxrwxrwx 1 root wheel 23 9 1 2004 file_symlink -> GNUstep/Defaults/WPrefs
-r-xr-xr-x 1 root wheel 3680076 10 28 2004 ls
-rw-r--r-- 1 root wheel 70 8 6 2004 motd
beastie# cat /mnt/motd
Linux yui 2.4.26 #1 SMP Tue Jun 15 11:04:53 CEST 2004 i686 GNU/Linux
beastie# uname -a
FreeBSD beastie.xxx.xxx.xxx 6.0-CURRENT FreeBSD 6.0-CURRENT #0: Wed Jun 1 17:22:23 EDT 2005 jkim at beastie.xxx.xxx.xxx:/usr/src/sys/amd64/compile/BEASTIE amd64
beastie# umount /mnt
beastie# mdconfig -d -u 0
The kernel module doesn't load because of an amd64-specific GCC 3.4
optimization bug. To work around:
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/sys/modules/reiserfs/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- Makefile 24 May 2005 12:30:13 -0000 1.1
+++ Makefile 1 Jun 2005 22:22:52 -0000
@@ -8,4 +8,8 @@
reiserfs_namei.c reiserfs_prints.c reiserfs_stree.c \
reiserfs_vfsops.c reiserfs_vnops.c
+.if ${MACHINE_ARCH} == "amd64"
+CFLAGS+= -minline-all-stringops
+.endif
+
.include <bsd.kmod.mk>
Without this, I get:
link_elf_obj: symbol memset undefined
kldload: Unsupported file type
Note: 'Unsupported file type' is somewhat misleading here. It just
means linker failed to find a symbol, in this case.
For more information about the GCC bug, follow the thread:
http://docs.freebsd.org/cgi/mid.cgi?IDTR9T00.LMF
Thanks a lot for your work!
Jung-uk Kim
* Postscript: Is it legal to redistribute your MP3 files? ;-)
More information about the freebsd-amd64
mailing list