WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: VirtualBox Guest Additions  (Read 2448 times)

Offline Philippe

  • Newbie
  • *
  • Posts: 6
VirtualBox Guest Additions
« on: October 06, 2017, 09:31:54 AM »
Hi,

I'm having problems with VirtualBox shared folders in TC 8.2 64 and can't make any headway.

The boot2docker people have interesting information here:
https://hub.docker.com/r/boot2docker/boot2docker/~/dockerfile/
but, try as I might, in any combination, I cannot get a shared folder mounted.

It works AOK on 32 bit but I want 64 bit.  I know I can samba or nfs but it's now become bone-headed principle.

I think I've narrowed it down.
Firstly, 32 bit tc defaults to /bin/mount, 64 to busybox mount.
Then I ran strace on the mount in each and now I am even more confused in that 32 bit says it call fstat64 and 64 bit says it calls fstat:

Please, if anyone would be able to point me in a good direction to resolve this I'd sure appreciate it.  Thanks.

on 32 bit (works!):
Code: [Select]
strace mount -t vboxsf Downloads /tmp/bob/
execve("/bin/mount", ["mount", "-t", "vboxsf", "Downloads", "/tmp/bob/"], [/* 17 vars */]) = 0
brk(0)                                  = 0x8c99000
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7703000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=8429, ...}) = 0
mmap2(NULL, 8429, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7700000
close(3)                                = 0
open("/lib/libcrypt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\7\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=30104, ...}) = 0
mmap2(NULL, 192828, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76d0000
mmap2(0xb76d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb76d7000
mmap2(0xb76d9000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76d9000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\376\202\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1115764, ...}) = 0
mmap2(NULL, 1124924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75bd000
mprotect(0xb76c9000, 4096, PROT_NONE)   = 0
mmap2(0xb76ca000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10c) = 0xb76ca000
mmap2(0xb76cd000, 10812, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76cd000
close(3)                                = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb77046c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb76ca000, 8192, PROT_READ)   = 0
mprotect(0xb76d7000, 4096, PROT_READ)   = 0
mprotect(0x8056000, 4096, PROT_READ)    = 0
mprotect(0xb7721000, 4096, PROT_READ)   = 0
munmap(0xb7700000, 8429)                = 0
getuid32()                              = 0
brk(0)                                  = 0x8c99000
brk(0x8cba000)                          = 0x8cba000
getuid32()                              = 0
geteuid32()                             = 0
stat64("Downloads", 0xbfce9610)         = -1 ENOENT (No such file or directory)
mount("Downloads", "/tmp/bob/", "vboxsf", MS_SILENT, NULL) = -1 EINVAL (Invalid argument)
vfork()                                 = 10381
waitpid(10381, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 10381
--- SIGCHLD (Child exited) @ 0 (0) ---
exit_group(0)                           = ?

On 64 bit:
Code: [Select]
strace mount -t vboxsf Downloads /tmp/bob
execve("/usr/local/bin/mount", ["mount", "-t", "vboxsf", "Downloads", "/tmp/bob"], [/* 17 vars */]) = 0
brk(0)                                  = 0x2151000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff2a6e89000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=127124, ...}) = 0
mmap(NULL, 127124, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7ff2a6e69000
close(3)                                = 0
open("/usr/lib/libmount.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\370\267\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=255624, ...}) = 0
mmap(NULL, 2354912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff2a6a2f000
mprotect(0x7ff2a6a6b000, 2097152, PROT_NONE) = 0
mmap(0x7ff2a6c6b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3c000) = 0x7ff2a6c6b000
mmap(0x7ff2a6c6d000, 3808, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ff2a6c6d000
close(3)                                = 0
open("/lib/libblkid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\370o\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=155648, ...}) = 0
mmap(NULL, 2250768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff2a6809000
mprotect(0x7ff2a682b000, 2097152, PROT_NONE) = 0
mmap(0x7ff2a6a2b000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7ff2a6a2b000
close(3)                                = 0
open("/lib/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0x\24\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14752, ...}) = 0
mmap(NULL, 2109808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff2a6605000
mprotect(0x7ff2a6608000, 2093056, PROT_NONE) = 0
mmap(0x7ff2a6807000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7ff2a6807000
close(3)                                = 0
open("/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=27528, ...}) = 0
mmap(NULL, 2124736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff2a63fe000
mprotect(0x7ff2a6404000, 2093056, PROT_NONE) = 0
mmap(0x7ff2a6603000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7ff2a6603000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\17\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1453448, ...}) = 0
mmap(NULL, 3559520, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff2a6098000
mprotect(0x7ff2a61f3000, 2097152, PROT_NONE) = 0
mmap(0x7ff2a63f3000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15b000) = 0x7ff2a63f3000
mmap(0x7ff2a63f9000, 16480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ff2a63f9000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0i`\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=93728, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff2a6e67000
mmap(NULL, 2204744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff2a5e7d000
mprotect(0x7ff2a5e93000, 2093056, PROT_NONE) = 0
mmap(0x7ff2a6092000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7ff2a6092000
mmap(0x7ff2a6094000, 13384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ff2a6094000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff2a6e64000
arch_prctl(ARCH_SET_FS, 0x7ff2a6e64780) = 0
mprotect(0x7ff2a63f3000, 16384, PROT_READ) = 0
mprotect(0x7ff2a6092000, 4096, PROT_READ) = 0
mprotect(0x7ff2a6603000, 4096, PROT_READ) = 0
mprotect(0x7ff2a6807000, 4096, PROT_READ) = 0
mprotect(0x7ff2a6a2b000, 12288, PROT_READ) = 0
mprotect(0x7ff2a6c6b000, 4096, PROT_READ) = 0
mprotect(0x607000, 4096, PROT_READ)     = 0
mprotect(0x7ff2a6e8b000, 4096, PROT_READ) = 0
munmap(0x7ff2a6e69000, 127124)          = 0
set_tid_address(0x7ff2a6e64a50)         = 25677
set_robust_list(0x7ff2a6e64a60, 24)     = 0
rt_sigaction(SIGRTMIN, {0x7ff2a5e82b44, [], SA_RESTORER|SA_SIGINFO, 0x7ff2a5e8c580}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7ff2a5e82bba, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7ff2a5e8c580}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0)                                  = 0x2151000
brk(0x2172000)                          = 0x2172000
getuid()                                = 0
geteuid()                               = 0
getcwd("/tmp", 4096)                    = 5
lstat("/tmp/Downloads", 0x7ffc9c71f260) = -1 ENOENT (No such file or directory)
lstat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=280, ...}) = 0
lstat("/tmp/bob", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
stat("/sbin/mount.vboxsf", {st_mode=S_IFREG|0755, st_size=19152, ...}) = 0
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
prctl(PR_GET_DUMPABLE)                  = 1
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
prctl(PR_GET_DUMPABLE)                  = 1
stat("/run", {st_mode=S_IFDIR|0775, st_size=100, ...}) = 0
lstat("/etc/mtab", {st_mode=S_IFLNK|0777, st_size=12, ...}) = 0
lstat("/run/mount/utab", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
open("/run/mount/utab", O_RDWR|O_CREAT|O_CLOEXEC, 0644) = 3
close(3)                                = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7ff2a6e64a50) = 25678
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 25678
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25678, si_status=1, si_utime=0, si_stime=0} ---
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++

Code: [Select]
root@box:/tmp# cp mount.vboxsf /sbin
Code: [Select]
root@box:/tmp# strace mount -t vboxsf Downloads /tmp/bob
execve("/usr/local/bin/mount", ["mount", "-t", "vboxsf", "Downloads", "/tmp/bob"], [/* 17 vars */]) = 0
brk(0)                                  = 0xf3e000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f13d6289000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=127124, ...}) = 0
mmap(NULL, 127124, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f13d6269000
close(3)                                = 0
open("/usr/lib/libmount.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\370\267\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=255624, ...}) = 0
mmap(NULL, 2354912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f13d5e2f000
mprotect(0x7f13d5e6b000, 2097152, PROT_NONE) = 0
mmap(0x7f13d606b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3c000) = 0x7f13d606b000
mmap(0x7f13d606d000, 3808, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f13d606d000
close(3)                                = 0
open("/lib/libblkid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\370o\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=155648, ...}) = 0
mmap(NULL, 2250768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f13d5c09000
mprotect(0x7f13d5c2b000, 2097152, PROT_NONE) = 0
mmap(0x7f13d5e2b000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f13d5e2b000
close(3)                                = 0
open("/lib/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0x\24\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14752, ...}) = 0
mmap(NULL, 2109808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f13d5a05000
mprotect(0x7f13d5a08000, 2093056, PROT_NONE) = 0
mmap(0x7f13d5c07000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f13d5c07000
close(3)                                = 0
open("/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=27528, ...}) = 0
mmap(NULL, 2124736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f13d57fe000
mprotect(0x7f13d5804000, 2093056, PROT_NONE) = 0
mmap(0x7f13d5a03000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f13d5a03000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\17\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1453448, ...}) = 0
mmap(NULL, 3559520, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f13d5498000
mprotect(0x7f13d55f3000, 2097152, PROT_NONE) = 0
mmap(0x7f13d57f3000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15b000) = 0x7f13d57f3000
mmap(0x7f13d57f9000, 16480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f13d57f9000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0i`\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=93728, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f13d6267000
mmap(NULL, 2204744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f13d527d000
mprotect(0x7f13d5293000, 2093056, PROT_NONE) = 0
mmap(0x7f13d5492000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f13d5492000
mmap(0x7f13d5494000, 13384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f13d5494000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f13d6264000
arch_prctl(ARCH_SET_FS, 0x7f13d6264780) = 0
mprotect(0x7f13d57f3000, 16384, PROT_READ) = 0
mprotect(0x7f13d5492000, 4096, PROT_READ) = 0
mprotect(0x7f13d5a03000, 4096, PROT_READ) = 0
mprotect(0x7f13d5c07000, 4096, PROT_READ) = 0
mprotect(0x7f13d5e2b000, 12288, PROT_READ) = 0
mprotect(0x7f13d606b000, 4096, PROT_READ) = 0
mprotect(0x607000, 4096, PROT_READ)     = 0
mprotect(0x7f13d628b000, 4096, PROT_READ) = 0
munmap(0x7f13d6269000, 127124)          = 0
set_tid_address(0x7f13d6264a50)         = 25683
set_robust_list(0x7f13d6264a60, 24)     = 0
rt_sigaction(SIGRTMIN, {0x7f13d5282b44, [], SA_RESTORER|SA_SIGINFO, 0x7f13d528c580}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f13d5282bba, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f13d528c580}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0)                                  = 0xf3e000
brk(0xf5f000)                           = 0xf5f000
getuid()                                = 0
geteuid()                               = 0
getcwd("/tmp", 4096)                    = 5
lstat("/tmp/Downloads", 0x7ffcd36c8130) = -1 ENOENT (No such file or directory)
lstat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=280, ...}) = 0
lstat("/tmp/bob", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
stat("/sbin/mount.vboxsf", {st_mode=S_IFREG|0755, st_size=11708, ...}) = 0
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
prctl(PR_GET_DUMPABLE)                  = 1
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
prctl(PR_GET_DUMPABLE)                  = 1
stat("/run", {st_mode=S_IFDIR|0775, st_size=100, ...}) = 0
lstat("/etc/mtab", {st_mode=S_IFLNK|0777, st_size=12, ...}) = 0
lstat("/run/mount/utab", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
open("/run/mount/utab", O_RDWR|O_CREAT|O_CLOEXEC, 0644) = 3
close(3)                                = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f13d6264a50) = 25684
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 25684
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25684, si_status=1, si_utime=0, si_stime=0} ---
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++

    [EDIT]: Added code tags.  Rich
« Last Edit: October 06, 2017, 09:55:41 AM by Rich »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10957
Re: VirtualBox Guest Additions
« Reply #1 on: October 06, 2017, 10:24:56 AM »
I don't think the solution lies in the mount binary traces, they all successfully spawned a child. "strace -f" will also trace children.
The only barriers that can stop you are the ones you create yourself.

Offline Philippe

  • Newbie
  • *
  • Posts: 6
Re: VirtualBox Guest Additions
« Reply #2 on: October 06, 2017, 12:26:24 PM »
Brilliant - thank you.  It appears TC64 does not like mount.vboxsf , either in 64 or 32 bit.

I've downloaded VirtualBox source to compile this myself but it's all in kbuild land.

I've tried a gcc mount.vboxsf.c -o mount.vboxsf but I haven't a clue on working out the other bits to compile first.

Is there a tool that'll indicate why the binary is rejected?

Thank you.

.....
pid 16837] execve("/sbin/mount.vboxsf", ["mount.vboxsf", "Downloads", "/tmp/bob"], [/* 16 vars */]) = -1 ENOENT (No such file or directory)
......

root@box:/home/tc# ls /sbin/mount* -l
lrwxrwxrwx    1 root     root            26 Oct  6 19:05 /sbin/mount.fuse -> /usr/local/sbin/mount.fuse
-rwxr-xr-x    1 root     root         11708 Oct  6 19:13 /sbin/mount.vboxsf

readelf -h /mnt/sda1/vm/amd64/lib/VBoxGuestAdditions/mount.vboxsf
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x400d80
  Start of program headers:          64 (bytes into file)
  Start of section headers:          17360 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         9
  Size of section headers:           64 (bytes)
  Number of section headers:         28
  Section header string table index: 27


Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10957
Re: VirtualBox Guest Additions
« Reply #3 on: October 07, 2017, 12:12:14 AM »
Some precompiled 64-bit binaries expect the /lib64 directory to exist. "sudo ln -s /lib /lib64", and add lib64 to your backup.
The only barriers that can stop you are the ones you create yourself.

Offline Philippe

  • Newbie
  • *
  • Posts: 6
Re: VirtualBox Guest Additions
« Reply #4 on: October 07, 2017, 07:28:24 AM »
Curaga, you are truely awesome!

Thank you. 3 weeks I've been trying this.

I'll submit a tcz for it and a "how to".  Is it ok to put the "ln -s /lib /lib64" in the tce.installed/ script?

Regards
Philippe.

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: VirtualBox Guest Additions
« Reply #5 on: October 07, 2017, 08:01:31 AM »
I'll submit a tcz for it and a "how to".  Is it ok to put the "ln -s /lib /lib64" in the tce.installed/ script?

I use this in my x86_64 startup scripts for binaries that require it

Code: [Select]
# ln lib64 to lib
if [ ! -e /lib64 ]; then
ln -s /lib /lib64
fi

though you could probably write it as
Code: [Select]
# ln lib64 to lib
[ -e /lib64 ] || ln -s /lib /lib64

:)

Offline Philippe

  • Newbie
  • *
  • Posts: 6
Re: VirtualBox Guest Additions
« Reply #6 on: October 07, 2017, 08:46:15 AM »
coreplayer2 is awesome too!

I attach vboxsf.tcz which only adds mount -t vboxfs <sharename> <mountpoint> functionality.  Sorry, I do not really use GUI so have not gone into x11 stuff.

curaga, coreplayer2 - many thanks indeed.

Regards
Philippe

    [EDIT]: Attachment removed due to forum policy violation.  Rich
« Last Edit: October 07, 2017, 12:18:40 PM by Rich »

Offline Philippe

  • Newbie
  • *
  • Posts: 6
Re: VirtualBox Guest Additions
« Reply #7 on: October 07, 2017, 08:48:06 AM »
ps (VBGuestAdditions 5.1.28, compiled for 4.8.17-tinycore64)

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11178
Re: VirtualBox Guest Additions
« Reply #8 on: October 07, 2017, 12:21:06 PM »
Hi Philippe
Sorry, I had to remove your attachment. Extensions must be submitted through proper channels. See:
http://wiki.tinycorelinux.net/wiki:creating_extensions#submitting