|
1 | 1 | export LD_LIBRARY_PATH=$PREFIX |
2 | | -export PROOT_TMP_DIR=$PREFIX/tmp |
3 | 2 |
|
4 | 3 | mkdir -p "$PREFIX/tmp" |
| 4 | +mkdir -p "$PREFIX/alpine/tmp" |
| 5 | +mkdir -p "$PREFIX/public" |
| 6 | + |
| 7 | +export PROOT_TMP_DIR=$PREFIX/tmp |
5 | 8 |
|
6 | 9 | if [ "$FDROID" = "true" ]; then |
7 | 10 |
|
|
34 | 37 | export PROOT="$NATIVE_DIR/libproot-xed.so" |
35 | 38 | fi |
36 | 39 |
|
| 40 | +ARGS="--kill-on-exit" |
| 41 | + |
| 42 | +for system_mnt in /apex /odm /product /system /system_ext /vendor \ |
| 43 | + /linkerconfig/ld.config.txt \ |
| 44 | + /linkerconfig/com.android.art/ld.config.txt \ |
| 45 | + /plat_property_contexts /property_contexts; do |
| 46 | + |
| 47 | + if [ -e "$system_mnt" ]; then |
| 48 | + system_mnt=$(realpath "$system_mnt") |
| 49 | + ARGS="$ARGS -b ${system_mnt}" |
| 50 | + fi |
| 51 | +done |
| 52 | +unset system_mnt |
| 53 | + |
| 54 | +ARGS="$ARGS -b /sdcard" |
| 55 | +ARGS="$ARGS -b /storage" |
| 56 | +ARGS="$ARGS -b /dev" |
| 57 | +ARGS="$ARGS -b /data" |
| 58 | +ARGS="$ARGS -b /dev/urandom:/dev/random" |
| 59 | +ARGS="$ARGS -b /proc" |
| 60 | +ARGS="$ARGS -b /sys" |
| 61 | +ARGS="$ARGS -b $PREFIX" |
| 62 | +ARGS="$ARGS -b $PREFIX/public:/public" |
| 63 | +ARGS="$ARGS -b $PREFIX/alpine/tmp:/dev/shm" |
| 64 | + |
| 65 | + |
| 66 | +if [ -e "/proc/self/fd" ]; then |
| 67 | + ARGS="$ARGS -b /proc/self/fd:/dev/fd" |
| 68 | +fi |
| 69 | + |
| 70 | +if [ -e "/proc/self/fd/0" ]; then |
| 71 | + ARGS="$ARGS -b /proc/self/fd/0:/dev/stdin" |
| 72 | +fi |
| 73 | + |
| 74 | +if [ -e "/proc/self/fd/1" ]; then |
| 75 | + ARGS="$ARGS -b /proc/self/fd/1:/dev/stdout" |
| 76 | +fi |
| 77 | + |
| 78 | +if [ -e "/proc/self/fd/2" ]; then |
| 79 | + ARGS="$ARGS -b /proc/self/fd/2:/dev/stderr" |
| 80 | +fi |
| 81 | + |
| 82 | + |
| 83 | +ARGS="$ARGS -r $PREFIX/alpine" |
| 84 | +ARGS="$ARGS -0" |
| 85 | +ARGS="$ARGS --link2symlink" |
| 86 | +ARGS="$ARGS --sysvipc" |
| 87 | +ARGS="$ARGS -L" |
| 88 | + |
37 | 89 |
|
38 | | -$PROOT --link2symlink -L --sysvipc --kill-on-exit -b $PREFIX:$PREFIX -b /data:/data -b /system:/system -b /vendor:/vendor -b /sdcard:/sdcard -b /storage:/storage -b $PREFIX/public:/public -S $PREFIX/alpine /bin/sh $PREFIX/init-alpine.sh "$@" |
| 90 | +$PROOT $ARGS /bin/sh $PREFIX/init-alpine.sh "$@" |
0 commit comments