-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deblobbify, replacing the system folder with several other components #72
base: master
Are you sure you want to change the base?
Conversation
PoC dependencies that would hypothetically be very helpful and idiomatic for termux/termux-docker#72
Nobody said it is not acceptable. I think nobody tried it. |
system
folder with several other components
system
folder with several other componentsb8bb468
to
0fd0f02
Compare
…st): 9.0.0-r76 PoC dependencies that would hypothetically be very helpful and idiomatic for termux/termux-docker#72
5169f1f
to
3b99512
Compare
…st): 9.0.0-r76 Dependencies for termux/termux-docker#72
3b99512
to
baf1842
Compare
baf1842
to
892023d
Compare
I am not sure exactly what exact scenario you are talking about here, or what error it is you were seeing at the time, if you mean a scenario with a But just in case knowing this helps you, there is a way to emulate an ARM processor on an x86 device that is very high in emulation accuracy and behaves almost identically to how real ARM devices behave. When carefully configured, I have never seen Since there are very few good guides on the subject, and almost all other guides skip mentioning lots of necessary steps, leaving everything unexplained and causing most people to feel like |
I will just link this. |
Potential WIP/PoC solution to:
system
directory may be removed from the repo... #60Summary of changes:
system
folder and replaces it with a scriptgenerate.sh
that can regenerate the entiresystem
folder.system
folder, is regenerated using purely a Termux bootstrap.zip
, and.deb
files that can be built using thetermux-packages
build and CD system, then retrieved from thetermux.dev
package host.$TERM
that is set to a value of "xterm
" for theclear
command to have convenient compatibility with most terminal emulators, and this has also been tested with Kitty.com.termux
" into a single instance for slightly more convenient use with custom bootstraps.docker.io/termux/termux-docker:aarch64
image not working onaarch64
devices that happen to have an esoteric "Cortex-A34"-type or similar processor due to the elimination of this 32-bit ARM binary blob, which Cortex-A34-type processors do not have hardware support for executing, unlike "Cortex-A72"-like processors.su
to log in as thesystem
user withinentrypoint.sh
.mksh
andbash
alone to implementsh
, instead of Busybox'ssh
.iputils
based on the source code of AOSP 9.0.0 to implement/system/bin/ping
and/system/bin/ping6
.termux-packages
root/dnsmasq
to implementdnsmasq
, which works after some adjustments to its invocations.personality()
system call permissions issue, a custom build of Docker, which is not required on all ARM devices, but which might be required sometimes, and is required on myarmv7l
device that the--privileged
and--security-opt
arguments both failed to work on./system/etc/ld.config.28.txt
without replacing it with anything, since it does not appear to be necessary for anything in any test so far, but it could be easily re-added if it turns out that there is something that needs it.Tested both locally and in GitHub Actions:
aarch64
: workingx86_64
: workingarm
: working, but in some (not all) cases, the custom build of Docker with modifiedpersonality()
system call permissions is required. It is unknown how to predict whether a device will require that or not, but it is suspected it might have something to do with the host kernel, which is a factor whose properties it is understood tend to vary dramatically between different ARM devices.i686
: workingThe "temporary" things like the
temporary-package-storage
folder and the blobs inside are only necessary for testing while this is not merged:The large amount of changes to the internal components of termux-docker could introduce unpredictable bugs or unexpected behavior that is not present with the current official termux-docker. For that reason, I hope to learn all of the current intended use cases that termux-docker is officially supposed to be used for, so that I can test my implementation with them and add additional software or fixes if needed.
TODO:
temporary-package-storage
folder and all references to it (blocked by thebionic-host
PR)