From df6a2f1365941d778a63673f340dbda0ef7851c1 Mon Sep 17 00:00:00 2001 From: Torsten Hilbrich Date: Tue, 19 Jun 2012 10:54:39 +0200 Subject: [PATCH] chroot_loader: Fix run script for 64bit environment The /lib64 path is required here to allow execution of 64bit binaries. Here is an example-ldd call: $ ldd /bin/ls linux-vdso.so.1 => (0x00007fffdedff000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f4ae207d000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4ae1e75000) libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f4ae1c6c000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4ae18af000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4ae16ab000) /lib64/ld-linux-x86-64.so.2 (0x00007f4ae22bd000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4ae148d000) libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f4ae1288000) Fixes #249 --- os/run/chroot_loader.run | 3 +++ 1 file changed, 3 insertions(+) diff --git a/os/run/chroot_loader.run b/os/run/chroot_loader.run index e7dfc0575..d4536f4c4 100644 --- a/os/run/chroot_loader.run +++ b/os/run/chroot_loader.run @@ -69,6 +69,7 @@ proc cleanup_chroot { } { catch { exec sudo umount -l [chroot_cwd_path $id] } catch { exec sudo umount -l [chroot_genode_tmp_path $id] } catch { exec sudo umount -l [chroot_path $id]/lib } + catch { exec sudo umount -l [chroot_path $id]/lib64 } catch { exec rm -rf [chroot_path $id] } } } @@ -107,9 +108,11 @@ cleanup_chroot foreach id { 1 2 } { exec mkdir -p [chroot_path $id] exec mkdir -p [chroot_path $id]/lib + exec mkdir -p [chroot_path $id]/lib64 # bind mount '/lib' as need libc within the chroot environment exec sudo mount --bind /lib [chroot_path $id]/lib + catch { exec sudo mount --bind /lib64 [chroot_path $id]/lib64 } } #