feelfreelinux / android-linux-bootstrap Goto Github PK
View Code? Open in Web Editor NEWMinimal (<3MB) alpine-linux bootstrap archive for Android API 16+.
Minimal (<3MB) alpine-linux bootstrap archive for Android API 16+.
Phone is pixel 4a running android 13
Log output:
๐ป No bootstrap detected, proceeding with installation
๐ป Arch: aarch64
๐ป Downloading bootstrap 0.3.0 from https://github.com/feelfreelinux/android-linux-bootstrap/releases/download/0.3.0/bootstrap-aarch64.zip
๐ป Request to https://objects.githubusercontent.com/github-production-release-asset-2e65be/352965812/ea14dee1-fef5-465a-9f22-4ff9e7631821?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230420%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230420T170917Z&X-Amz-Expires=300&X-Amz-Signature=5a4bdd1618e5117e79c2cae51c9f7b8972ceb2bd022f276d3f3530de9243ae79&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=352965812&response-content-disposition=attachment%3B%20filename%3Dbootstrap-aarch64.zip&response-content-type=application%2Foctet-stream returned status code 200
๐ป Bootstrap extracted, setting it up...
๐ป >ls
๐ธ add-user.sh
๐ธ fake_proc_stat
๐ธ install-bootstrap.sh
๐ธ ioctlHook.so
๐ธ root
๐ธ rootfs.tar.xz
๐ธ run-bootstrap.sh
๐ป >chmod -R 700 .
๐ป >sh install-bootstrap.sh
๐ธ bootstrap ready, run with run-bootstrap.sh
๐ป >sh add-user.sh octoprint
๐ป >cat /etc/motd
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ Welcome to Alpine!
๐ธ
๐ธ The Alpine Wiki contains a large amount of how-to guides and general
๐ธ information about administrating Alpine systems.
๐ธ See https://wiki.alpinelinux.org/.
๐ธ
๐ธ You can setup the system with the command: setup-alpine
๐ธ
๐ธ You may change this message by editing /etc/motd.
๐ธ
๐ป >env
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ DEX2OATBOOTCLASSPATH=/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar
๐ธ EXTRA_BIND=-b /storage/emulated/0/Android/data/com.octo4a/files:/root -b /data/data/com.octo4a/files/serialpipe:/dev/ttyOcto4a -b /data/data/com.octo4a/files/bootstrap/ioctlHook.so:/home/octoprint/ioctlHook.so
๐ธ USER=root
๐ธ EXTERNAL_STORAGE=/sdcard
๐ธ PROOT_L2S_DIR=/data/data/com.octo4a/files/bootstrap/bootstrap/.proot.meta
๐ธ SHLVL=1
๐ธ HOME=/root
๐ธ ANDROID_ASSETS=/system/app
๐ธ BOOTCLASSPATH=/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar:/apex/com.android.adservices/javalib/framework-adservices.jar:/apex/com.android.adservices/javalib/framework-sdksandbox.jar:/apex/com.android.appsearch/javalib/framework-appsearch.jar:/apex/com.android.btservices/javalib/framework-bluetooth.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.ipsec/javalib/android.net.ipsec.ike.jar:/apex/com.android.media/javalib/updatable-media.jar:/apex/com.android.mediaprovider/javalib/framework-mediaprovider.jar:/apex/com.android.ondevicepersonalization/javalib/framework-ondevicepersonalization.jar:/apex/com.android.os.statsd/javalib/framework-statsd.jar:/apex/com.android.permission/javalib/framework-permission.jar:/apex/com.android.permission/javalib/framework-permission-s.jar:/apex/com.android.scheduling/javalib/framework-scheduling.jar:/apex/com.android.sdkext/javalib/framework-sdkextensions.jar:/apex/com.android.tethering/javalib/framework-connectivity.jar:/apex/com.android.tethering/javalib/framework-connectivity-t.jar:/apex/com.android.tethering/javalib/framework-tethering.jar:/apex/com.android.uwb/javalib/framework-uwb.jar:/apex/com.android.wifi/javalib/framework-wifi.jar
๐ธ STANDALONE_SYSTEMSERVER_JARS=/apex/com.android.btservices/javalib/service-bluetooth.jar:/apex/com.android.os.statsd/javalib/service-statsd.jar:/apex/com.android.scheduling/javalib/service-scheduling.jar:/apex/com.android.tethering/javalib/service-connectivity.jar:/apex/com.android.uwb/javalib/service-uwb.jar:/apex/com.android.wifi/javalib/service-wifi.jar
๐ธ _=./root/bin/proot
๐ธ DOWNLOAD_CACHE=/data/cache
๐ธ ANDROID_DATA=/data
๐ธ PATH=/sbin:/usr/sbin:/bin:/usr/bin
๐ธ ANDROID_ROOT=/system
๐ธ ANDROID_I18N_ROOT=/apex/com.android.i18n
๐ธ LANG='en_US.UTF-8'
๐ธ ANDROID_TZDATA_ROOT=/apex/com.android.tzdata
๐ธ ANDROID_SOCKET_zygote=21
๐ธ ANDROID_SOCKET_usap_pool_primary=22
๐ธ ASEC_MOUNTPOINT=/mnt/asec
๐ธ PWD=/root
๐ธ SYSTEMSERVERCLASSPATH=/system/framework/com.android.location.provider.jar:/system/framework/services.jar:/system/framework/org.lineageos.platform.jar:/apex/com.android.adservices/javalib/service-adservices.jar:/apex/com.android.adservices/javalib/service-sdksandbox.jar:/apex/com.android.appsearch/javalib/service-appsearch.jar:/apex/com.android.art/javalib/service-art.jar:/apex/com.android.media/javalib/service-media-s.jar:/apex/com.android.permission/javalib/service-permission.jar
๐ธ ANDROID_ART_ROOT=/apex/com.android.art
๐ธ ANDROID_STORAGE=/storage
๐ธ PROOT_TMP_DIR=/data/data/com.octo4a/files/bootstrap/tmp
๐ธ ANDROID_BOOTLOGO=1
๐ป >ls /
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ bin
๐ธ dev
๐ธ etc
๐ธ home
๐ธ lib
๐ธ media
๐ธ mnt
๐ธ opt
๐ธ proc
๐ธ root
๐ธ run
๐ธ sbin
๐ธ srv
๐ธ storage
๐ธ sys
๐ธ system
๐ธ tmp
๐ธ usr
๐ธ var
๐ธ vendor
๐ป >apk add openssh-server curl bash unzip
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/aarch64/APKINDEX.tar.gz
๐ธ ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.17/main: temporary error (try again later)
๐ธ WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.17/main: No such file or directory
๐ธ fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/aarch64/APKINDEX.tar.gz
๐ธ ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.17/community: temporary error (try again later)
๐ธ WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.17/community: No such file or directory
๐ธ ERROR: unable to select packages:
๐ธ bash (no such package):
๐ธ required by: world[bash]
๐ธ curl (no such package):
๐ธ required by: world[curl]
๐ธ openssh-server (no such package):
๐ธ required by: world[openssh-server]
๐ธ unzip (no such package):
๐ธ required by: world[unzip]
๐ป An exception has occurred at:
java.lang.RuntimeException: Process exited with error code 4. [proot warning: can't sanitize binding "/data/data
at com.octo4a.utils.ProcessUtilsKt.waitAndPrintOutput(ProcessUtils.kt:38)
at com.octo4a.utils.ProcessUtilsKt.waitAndPrintOutput$default(ProcessUtils.kt:12)
at com.octo4a.repository.BootstrapRepositoryImpl$setupBootstrap$2.invokeSuspend(BootstrapRepository.kt:163)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Exception:
java.lang.RuntimeException: Process exited with error code 4. [proot warning: can't sanitize binding "/data/data
๐ป No bootstrap detected, proceeding with installation
๐ป Arch: aarch64
๐ป Downloading bootstrap 0.3.0 from https://github.com/feelfreelinux/android-linux-bootstrap/releases/download/0.3.0/bootstrap-aarch64.zip
๐ป Request to https://objects.githubusercontent.com/github-production-release-asset-2e65be/352965812/ea14dee1-fef5-465a-9f22-4ff9e7631821?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230420%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230420T170917Z&X-Amz-Expires=300&X-Amz-Signature=5a4bdd1618e5117e79c2cae51c9f7b8972ceb2bd022f276d3f3530de9243ae79&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=352965812&response-content-disposition=attachment%3B%20filename%3Dbootstrap-aarch64.zip&response-content-type=application%2Foctet-stream returned status code 200
๐ป Bootstrap extracted, setting it up...
๐ป >ls
๐ธ add-user.sh
๐ธ fake_proc_stat
๐ธ install-bootstrap.sh
๐ธ ioctlHook.so
๐ธ root
๐ธ rootfs.tar.xz
๐ธ run-bootstrap.sh
๐ป >chmod -R 700 .
๐ป >sh install-bootstrap.sh
๐ธ bootstrap ready, run with run-bootstrap.sh
๐ป >sh add-user.sh octoprint
๐ป >cat /etc/motd
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ Welcome to Alpine!
๐ธ
๐ธ The Alpine Wiki contains a large amount of how-to guides and general
๐ธ information about administrating Alpine systems.
๐ธ See https://wiki.alpinelinux.org/.
๐ธ
๐ธ You can setup the system with the command: setup-alpine
๐ธ
๐ธ You may change this message by editing /etc/motd.
๐ธ
๐ป >env
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ DEX2OATBOOTCLASSPATH=/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar
๐ธ EXTRA_BIND=-b /storage/emulated/0/Android/data/com.octo4a/files:/root -b /data/data/com.octo4a/files/serialpipe:/dev/ttyOcto4a -b /data/data/com.octo4a/files/bootstrap/ioctlHook.so:/home/octoprint/ioctlHook.so
๐ธ USER=root
๐ธ EXTERNAL_STORAGE=/sdcard
๐ธ PROOT_L2S_DIR=/data/data/com.octo4a/files/bootstrap/bootstrap/.proot.meta
๐ธ SHLVL=1
๐ธ HOME=/root
๐ธ ANDROID_ASSETS=/system/app
๐ธ BOOTCLASSPATH=/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar:/apex/com.android.adservices/javalib/framework-adservices.jar:/apex/com.android.adservices/javalib/framework-sdksandbox.jar:/apex/com.android.appsearch/javalib/framework-appsearch.jar:/apex/com.android.btservices/javalib/framework-bluetooth.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.ipsec/javalib/android.net.ipsec.ike.jar:/apex/com.android.media/javalib/updatable-media.jar:/apex/com.android.mediaprovider/javalib/framework-mediaprovider.jar:/apex/com.android.ondevicepersonalization/javalib/framework-ondevicepersonalization.jar:/apex/com.android.os.statsd/javalib/framework-statsd.jar:/apex/com.android.permission/javalib/framework-permission.jar:/apex/com.android.permission/javalib/framework-permission-s.jar:/apex/com.android.scheduling/javalib/framework-scheduling.jar:/apex/com.android.sdkext/javalib/framework-sdkextensions.jar:/apex/com.android.tethering/javalib/framework-connectivity.jar:/apex/com.android.tethering/javalib/framework-connectivity-t.jar:/apex/com.android.tethering/javalib/framework-tethering.jar:/apex/com.android.uwb/javalib/framework-uwb.jar:/apex/com.android.wifi/javalib/framework-wifi.jar
๐ธ STANDALONE_SYSTEMSERVER_JARS=/apex/com.android.btservices/javalib/service-bluetooth.jar:/apex/com.android.os.statsd/javalib/service-statsd.jar:/apex/com.android.scheduling/javalib/service-scheduling.jar:/apex/com.android.tethering/javalib/service-connectivity.jar:/apex/com.android.uwb/javalib/service-uwb.jar:/apex/com.android.wifi/javalib/service-wifi.jar
๐ธ _=./root/bin/proot
๐ธ DOWNLOAD_CACHE=/data/cache
๐ธ ANDROID_DATA=/data
๐ธ PATH=/sbin:/usr/sbin:/bin:/usr/bin
๐ธ ANDROID_ROOT=/system
๐ธ ANDROID_I18N_ROOT=/apex/com.android.i18n
๐ธ LANG='en_US.UTF-8'
๐ธ ANDROID_TZDATA_ROOT=/apex/com.android.tzdata
๐ธ ANDROID_SOCKET_zygote=21
๐ธ ANDROID_SOCKET_usap_pool_primary=22
๐ธ ASEC_MOUNTPOINT=/mnt/asec
๐ธ PWD=/root
๐ธ SYSTEMSERVERCLASSPATH=/system/framework/com.android.location.provider.jar:/system/framework/services.jar:/system/framework/org.lineageos.platform.jar:/apex/com.android.adservices/javalib/service-adservices.jar:/apex/com.android.adservices/javalib/service-sdksandbox.jar:/apex/com.android.appsearch/javalib/service-appsearch.jar:/apex/com.android.art/javalib/service-art.jar:/apex/com.android.media/javalib/service-media-s.jar:/apex/com.android.permission/javalib/service-permission.jar
๐ธ ANDROID_ART_ROOT=/apex/com.android.art
๐ธ ANDROID_STORAGE=/storage
๐ธ PROOT_TMP_DIR=/data/data/com.octo4a/files/bootstrap/tmp
๐ธ ANDROID_BOOTLOGO=1
๐ป >ls /
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ bin
๐ธ dev
๐ธ etc
๐ธ home
๐ธ lib
๐ธ media
๐ธ mnt
๐ธ opt
๐ธ proc
๐ธ root
๐ธ run
๐ธ sbin
๐ธ srv
๐ธ storage
๐ธ sys
๐ธ system
๐ธ tmp
๐ธ usr
๐ธ var
๐ธ vendor
๐ป >apk add openssh-server curl bash unzip
๐ธ proot warning: can't sanitize binding "/data/data/com.octo4a/files/serialpipe": No such file or directory
๐ธ fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/aarch64/APKINDEX.tar.gz
๐ธ ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.17/main: temporary error (try again later)
๐ธ WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.17/main: No such file or directory
๐ธ fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/aarch64/APKINDEX.tar.gz
๐ธ ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.17/community: temporary error (try again later)
๐ธ WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.17/community: No such file or directory
๐ธ ERROR: unable to select packages:
๐ธ bash (no such package):
๐ธ required by: world[bash]
๐ธ curl (no such package):
๐ธ required by: world[curl]
๐ธ openssh-server (no such package):
๐ธ required by: world[openssh-server]
๐ธ unzip (no such package):
๐ธ required by: world[unzip]
๐ป An exception has occurred at:
java.lang.RuntimeException: Process exited with error code 4. [proot warning: can't sanitize binding "/data/data
at com.octo4a.utils.ProcessUtilsKt.waitAndPrintOutput(ProcessUtils.kt:38)
at com.octo4a.utils.ProcessUtilsKt.waitAndPrintOutput$default(ProcessUtils.kt:12)
at com.octo4a.repository.BootstrapRepositoryImpl$setupBootstrap$2.invokeSuspend(BootstrapRepository.kt:163)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Exception:
java.lang.RuntimeException: Process exited with error code 4. [proot warning: can't sanitize binding "/data/data
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.