Quoting Andre Albsmeier <[email protected]> (from Thu, 6 Jan
2011 11:32:26 +0100):
On Thu, 06-Jan-2011 at 08:57:53 +0100, Alexander Leidinger wrote:
Quoting Andre Albsmeier <[email protected]> (from Wed, 5 Jan
2011 20:19:15 +0100):
> My solution is eerie but it works. This is what I did:
>
> 1. cd /compat/linux
> 2. mkdir dev
> 3. cd dev
> 4. ln -s /tmp shm
As long as you do not need to access something from dev (FreeBSD one),
this works. As soon as you need to access something from there it
depends upon the software. If the software is doing a readdir, the
user experience will be worse. And if it does not allow to enter a
Let me see if I got this: Now I have a /compat/linux/dev directory
which means that if some Linux programme wants to look into /dev it
will see just the shm entry. If there wasn't my dev directory it
would have continued to FreeBSD's /dev...
Correct.
Can you please try a solution with devfs.conf (I never tried if it
allows to link outside of dev)?
I added the following line to devfs.conf
link /tmp shm
and removed my dev stuff under /compat/linux. And it still works ;-).
That's great.
The devfs.conf thing makes it possible to simplify the (ugly)
patch a bit:
--- /sys/compat/linux/linux_stats.c.ORI 2008-01-10 20:11:51.000000000 +0100
+++ /sys/compat/linux/linux_stats.c 2011-01-06 11:26:53.000000000 +0100
@@ -379,6 +379,7 @@
struct statfs bsd_statfs;
char *path;
int error;
+ unsigned char shm = 0;
LCONVPATHEXIST(td, args->path, &path);
@@ -387,10 +388,14 @@
printf(ARGS(statfs, "%s, *"), path);
#endif
error = kern_statfs(td, path, UIO_SYSSPACE, &bsd_statfs);
+ if( strncmp( path, "/dev/shm", 8 ) == 0 )
+ shm = ( path[8] == '\0' || (path[8] == '/' && path[9] == '\0') );
LFREEPATH(path);
if (error)
return (error);
bsd_to_linux_statfs(&bsd_statfs, &linux_statfs);
+ if( shm )
+ linux_statfs.f_type = 0x01021994;
return copyout(&linux_statfs, args->buf, sizeof(linux_statfs));
}
Thanks for the hint with devfs.conf, that's a lot better!
Thanks for the patch.
Bye,
Alexander.
--
Freedom begins when you tell Mrs. Grundy to go fly a kite.
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
To unsubscribe, send any mail to "[email protected]"