Skip to content
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

Script for linuxcontainers.org does not work for debian buster on Android 4.4 #17

Closed
rvdginste opened this issue Dec 29, 2020 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@rvdginste
Copy link

rvdginste commented Dec 29, 2020

Hello,

I have a tablet with Android 4.4.2 that I want to use AnotherTerm on. AnotherTerm itself seems to run fine, but I have some issues with the install-linuxcontainers script. I followed the guide on here.

I tried to install the root filesystem for debian buster (I also tried debian bulseye, ubuntu, gentoo and those all fail with a similar error; alpine does work fine however).

The first issue was that the script failed on line 362 because the folder etc/profile.d did not exist. This is easily remedied by adding a mkdir -p etc/profile.d.

The second issue is that there seems to be a problem with unpacking the root filesystem. I get the error -25: 9: chdir() failure. After the error, the script continues, but the terminals into the root file system immediately stop after being started. With certain root file systems I get an additional error Pathname can't be converted from UTF-8 to current locale.

Any ideas on what is going wrong and how it could be fixed?

thanks,
Ruben

@rvdginste
Copy link
Author

I tried AnotherTerm with the script on my phone that runs Android 8.1 and there the script runs just fine for debian. So it seems to be related to Android 4.4.2.

I was happy to find your project because it still supports KitKat, so thanks for that.

I'll try to debug the script a bit more.

@rvdginste
Copy link
Author

After further testing, I see that the problem is caused by minitar. It gives errors on hardlinks and these errors seem in turn to cause a lot of data to go missing in the unpacked root file system. This is what causes the etc/profile.d folder to be missing and is likely also the reason that the chroot terminal is not working.

@rvdginste
Copy link
Author

rvdginste commented Dec 31, 2020

I tried to use a manipulated root file system without the hardlinks and that archive is working fine.

So something must be wrong when treating the hardlinks. For extra information, the unpacked root file system looks like the following when the hardlinks are still there:

linuxcontainers-debian-buster
\_ etc
\_ usr
      \_bin
          \_usr
               \_bin
               \_games
               \_include
               \_local
               \_src
\_var

So, in the root folder I only get etc, usr and var and something weird is going on with the usr folder nested inside usr/bin.

@green-green-avk green-green-avk self-assigned this Dec 31, 2020
@green-green-avk green-green-avk added the bug Something isn't working label Dec 31, 2020
@green-green-avk
Copy link
Owner

green-green-avk commented Dec 31, 2020

Is it an x86 or ARMv7 phone?

@rvdginste
Copy link
Author

It's an ARMv7 phone.

@green-green-avk
Copy link
Owner

@green-green-avk green-green-avk unpinned this issue Sep 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants