SDRausty / TermuxArch

You can use setupTermuxArch.bash 📲 to install Arch Linux in Amazon, Android, Chromebook and Windows. https://sdrausty.github.io/TermuxArch/docs/install
https://sdrausty.github.io/TermuxArch/
Other
1.41k stars 162 forks source link

No such or file directory when setting Arch Linux up in Termux PRoot #37

Closed Ublimjo closed 6 years ago

Ublimjo commented 6 years ago

🕧 < 🕛 Termux package requirements for Arch Linux: OK

setupTermuxArch.tar.g 100%[======================>] 6.87K --.-KB/s in 0.001s setupTermuxArch.md5 100%[======================>] 77 --.-KB/s in 0s

setupTermuxArch.tar.gz: OK

🕐 < 🕛 Installation script download: OK

archsystemconfigs.sh: OK knownconfigurations.sh: OK necessaryfunctions.sh: OK printoutstatements.sh: OK setupTermuxArch.sh: OK

🕜 < 🕛 Installation script integrity: OK

🕑 < 🕛 Detected i686 Android Operating System.

🕝 < 🕛 Activating termux-wake-lock. Now downloading archlinux-bootstrap-2017.03.01-i686.tar.gz and the corresponding checksum. This may take a long time depending on your Internet connection.

archlinux-bootstrap-2 100%[======================>] 126.70M 849KB/s in 2m 46s md5sums.txt 100%[======================>] 220 --.-KB/s in 0s

🕠 < 🕛 Checking download integrity with md5sum. This may take a little while.

archlinux-bootstrap-2017.03.01-i686.tar.gz: OK

🕕 < 🕛 Downloaded files integrity: OK

🕡 < 🕛 Now uncompressing archlinux-bootstrap-2017.03.01-i686.tar.gz. This will take much longer! Be patient.

🕙 < 🕛 Your Arch Linux in Termux is installed! Please answer the following questions to complete the Arch Linux configuration.

archsystemconfigs.sh: line 136: etc/motd: No such file or directory

SDRausty commented 6 years ago

Your Arch Linux should be installed even though the configuration part failed for some reason. Use ~/arch/startarch to start Arch Linux in Termux PRoot. Edit /etc/pacman.d/mirrorlist, the pacman mirrors file. Run pacman -Syu to update your Arch Linux. Use locale-gen to generate locales and tzselect to set your time zone. Good luck.

Ublimjo commented 6 years ago

$ ~/arch/startarch
proot error: '/bin/env' not found (root = /data/data/com.termux/files/home/arch, cwd = /data/data/com.termux/files/home, $PATH=(null)) fatal error: see proot --help.

tomty89 commented 6 years ago

ls -Al arch?

SDRausty commented 6 years ago

@Ublimjo https://github.com/sdrausty/TermuxArch/commit/d95d6ee8ecb66bf368171803e442de76a1444040

proot error: '/bin/env' not found

Try reinstalling. Use .setupTermuxArch --purge to uninstall Arch Linux Termux PRoot from device first. Then run bash setupTermuxArch.sh again.

Ublimjo commented 6 years ago

ls -Al arch
total 8 drwx------ 3 u0_a849 u0_a849 4096 Jan 22 14:13 root -rwx------ 1 u0_a849 u0_a849 387 Jan 23 15:28 startarch

Ublimjo commented 6 years ago

setupTermuxArch.sh --purge

Run purge to uninstall Arch Linux? [y|n] y

Uninstalling Arch Linux... Uninstalling Arch Linux, nothing to do for /data/data/com.termux/files/usr/bin/startarch. Uninstalling Arch Linux done.

Thank you for using setupTermuxArch.sh 🏁

setupTermuxArch.sh

< 🕛 Your Arch Linux in Termux is installed! Please answer the following questions to complete the Arch Linux configuration.

archsystemconfigs.sh: line 136: etc/motd: No such file or directory archsystemconfigs.sh: line 153: etc/resolv.conf: No such file or directory necessaryfunctions.sh: line 153: etc/locale.gen: No such file or directory

Do you want to use nano or vi to edit your Arch Linux configuration files [n|v]? v

Would you like to run locale-gen to generate the en_US.UTF-8 locale or do you want to edit /etc/locale.gen specifying your preferred language before running locale-gen? Answer run or edit [r|e]. e proot error: '/bin/env' not found (root = /data/data/com.termux/files/home/arch, cwd = /data/data/com.termux/files/home, $PATH=(null)) fatal error: see proot --help.

🕥 < 🕛 Use ./arch/startarch from your $HOME directory to launch Arch Linux in Termux for future sessions. Alternatively copy startarch to your $PATH which is, "/data/data/com.termux/files/home/.autojump/bin:/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/bin/user/:/data/data/com.termux/files/usr/bin/user/system/".

🕚 < 🕛 Copy startarch to your $PATH? [y|n] y

🕦 < 🕛 Copied startarch to /data/data/com.termux/files/usr/bin.

🕛 = 🕛 Termux-wake-lock released. Your Arch Linux in Termux is installed and updated. Use tzselect to assit in setting your time zone. See https://github.com/sdrausty/TermuxArch/issues/25 "Starting Arch Linux from Termux?" for more information.

proot error: '/bin/env' not found (root = /data/data/com.termux/files/home/arch, cwd = /data/data/com.termux/files/home, $PATH=(null)) fatal error: see proot --help.

Thank you for using setupTermuxArch.sh 🏁

SDRausty commented 6 years ago

@Ublimjo Sorry to hear you are still having trouble. Two questions: 1) ls -al ~/arch? You should have an entire Linux system in this directory, not just

drwx------ 3 u0_a849 u0_a849 4096 Jan 22 14:13 root -rwx------ 1 u0_a849 u0_a849 387 Jan 23 15:28 startarch

Post output from ls -al ~/arch once more, and du -hs ~/arch too.

2) Do you have enough free space on device? See install. How much free space do you have?

My data allotment has been consumed by this project and TermuxPovray this month. So checking the image you are using archlinux-bootstrap-2017.03.01-i686.tar.gz is going to take a little while since my data connection speed is very slow at the moment. The i686 image was working fine before. Do you have any idea why the system image might not be unpacking completely on your device? Are you sure that you have enough free space on device?

SDRausty commented 6 years ago

@Ublimjo you want free space on device to be able to run programs and create. Without free space there is not much you can do. TermuxArch wants as much space as possible since it is a full blown Linux. See results for similarity when space is null:

🕥 < 🕛 Use ./arch/startarch from your $HOME directory to launch Arch Linux in Termux for future sessions. Alternatively copy startarch to your $PATH which is, "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets".

🕚 < 🕛 Copy startarch to your $PATH? [y|n] y

🕦 < 🕛 Copied startarch to /data/data/com.termux/files/usr/bin.

🕛 = 🕛 Termux-wake-lock released. Your Arch Linux in Termux is installed and updated. Use tzselect to assit in setting your time zone. See https://github.com/sdrausty/TermuxArch/issues/25 "Starting Arch Linux from Termux?" for more information.

proot error: '/bin/env' not found (root = /data/data/com.termux/files/home/arch, cwd = /data/data/com.termux/files/home, $PATH=(null)) fatal error: see proot --help.

Thank you for using setupTermuxArch.sh 🏁

SDRausty commented 6 years ago

https://github.com/sdrausty/TermuxArch/commit/a42d362a62f06d9c227c2c19326e6955c7647e31 created dfa

SDRausty commented 6 years ago

https://sdrausty.github.io/dfa/ created regarding disk space on device. This is now a submodule https://github.com/sdrausty/TermuxArch/tree/master/scripts/frags in TermuxArch.

SDRausty commented 6 years ago

setupTermuxArch.sh now issues a low space warning when a user attempts to install Arch Linux on a device with less than 1G of free space with https://github.com/sdrausty/TermuxArch/commit/8cffa3b9f6adf23403eb9b4bf3deee0ff35df527 this commit.

PluMGMK commented 6 years ago

I'm getting the "/bin/env" issue too. The phone (FP2 running LineageOS) has 24G space free but setupTermuxArch doesn't seem to realize this:

 🕛 < 🕛 This setup script will attempt to set Arch Linux up in your Termux environment.  When successfully completed, the Linux command prompt will be at your bidding in Arch Linux in Termux PRoot on your smartphone and tablet. If you do not see 🕐 one o'clock below, check your Internet connection and run this script again.  Termux package requirements for Arch Linux: OK  

 🕧 < 🕛 Termux package requirements for Arch Linux: OK  

setupTermuxArch.tar.gz                               100%[=====================================================================================================================>]   7.46K  --.-KB/s    in 0.002s  
setupTermuxArch.md5                                  100%[=====================================================================================================================>]      57  --.-KB/s    in 0s      

setupTermuxArch.tar.gz: OK

 🕐 < 🕛 Installation script download: OK  

archsystemconfigs.sh: OK
knownconfigurations.sh: OK
necessaryfunctions.sh: OK
printoutstatements.sh: OK
setupTermuxArch.sh: OK

 🕜 < 🕛 Installation script integrity: OK  

 🕑 < 🕛 Detected armv7lAndroid Operating System.  Warning!  Start thinking about cleaning out some stuff.  The user space on this device is just 23415376.  This is below the recommended amount of free space to install Arch Linux in Termux PRoot.  

 🕝 < 🕛 Activating termux-wake-lock.  Now downloading ArchLinuxARM-armv7-latest.tar.gz and the corresponding checksum.  This may take a long time depending on your Internet connection.  

ArchLinuxARM-armv7-latest.tar.gz                     100%[=====================================================================================================================>] 328.93M  4.09MB/s    in 95s     
ArchLinuxARM-armv7-latest.tar.gz.md5                 100%[=====================================================================================================================>]      67  --.-KB/s    in 0s      

 🕠 < 🕛 Checking download integrity with md5sum.  This may take a little while.  

ArchLinuxARM-armv7-latest.tar.gz: OK

 🕕 < 🕛 Downloaded files integrity: OK  

 🕡 < 🕛 Now uncompressing ArchLinuxARM-armv7-latest.tar.gz.  This will take much longer!  Be patient.  

 🕙 < 🕛 Your Arch Linux in Termux is installed! Please answer the following questions to complete the Arch Linux configuration.  

bash: etc/motd: No such file or directory
bash: etc/resolv.conf: No such file or directory
bash: etc/locale.gen: No such file or directory

Do you want to use `nano` or `vi` to edit your Arch Linux configuration files [n|v]?  v

Would you like to run `locale-gen` to generate the en_US.UTF-8 locale or do you want to edit /etc/locale.gen specifying your preferred language before running `locale-gen`?  Answer run or edit [r|e].  r
proot error: '/bin/env' not found (root = /data/data/com.termux/files/home/arch, cwd = /data/data/com.termux/files/home, $PATH=(null))
fatal error: see `proot --help`.

 🕥 < 🕛 Use ./arch/startarch from your $HOME directory to launch Arch Linux in Termux for future sessions.   Alternatively copy startarch to your $PATH which is, "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets".  

 🕚 < 🕛 Copy `startarch` to your `$PATH`? [y|n]  n

 🕛 = 🕛 Termux-wake-lock released.  Your Arch Linux in Termux is installed and updated.  Use `tzselect` to assit in setting your time zone.  See https://github.com/sdrausty/TermuxArch/issues/25 "Starting Arch Linux from Termux?" for more information.  

proot error: '/bin/env' not found (root = /data/data/com.termux/files/home/arch, cwd = /data/data/com.termux/files/home, $PATH=(null))
fatal error: see `proot --help`.

Thank you for using `setupTermuxArch.sh` 🏁

Note: "The user space on this device is just 23415376."

Output of "df -H":

Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 967M  643k  966M   1% /dev
tmpfs                 967M     0  967M   0% /mnt
/dev/block/mmcblk0p13 2.1G  714M  1.3G  34% /system
/dev/block/mmcblk0p20  27G  3.3G   24G  13% /data
/dev/block/mmcblk0p15 660M   14M  646M   3% /cache
/dev/block/mmcblk0p14 5.1M  5.0M   78k  99% /persist
/dev/block/mmcblk0p1   67M   59M  8.1M  88% /firmware
tmpfs                 967M     0  967M   0% /storage
/data/media            27G  3.3G   24G  13% /storage/emulated
tmpfs                 967M     0  967M   0% /storage/self

Note "24G".

tomty89 commented 6 years ago

The problem is with the silly 2>/dev/null we have no idea what went wrong in the bsdtar -xpf...

SDRausty commented 6 years ago

@PluMGMK What is the output of du -hs ~/arch, ls -al ~/arch, ls -R ~/arch/root and dfa?

@tomty89 Without 2>/device/null the script is funny to watch in action. A "bloom" option can be implemented. It would let the entire script stay on device for users to modify as desired. Local modifications like setting download mirror would be easier to accomplish. This isn't too difficult to accomplish https://github.com/sdrausty/TermuxArch/issues/32#issuecomment-356813159 manually at present. Try removing the funny 2>dev/null and watch silly output in the Termux console. How to easily redirect this output via https://github.com/sdrausty/TermuxArch/blob/master/scripts/files/stable/necessaryfunctions.sh#L220 sysinfo to setupTermuxArchdebug$ntime.log?

PluMGMK commented 6 years ago

du -hs ~/arch:

44.0K   /data/data/com.termux/files/home/arch

ls -al ~/arch:

total 16
drwx------    3 u0_a66   u0_a66        4096 Jan 28 23:17 .
drwx------   17 u0_a66   u0_a66        4096 Jan 28 23:16 ..
drwx------    3 u0_a66   u0_a66        4096 Jan 28 23:17 root
-rwx------    1 u0_a66   u0_a66         387 Jan 28 23:17 startarch

ls -R ~/arch/root:

/data/data/com.termux/files/home/arch/root/:
bin

/data/data/com.termux/files/home/arch/root/bin:
ga   gcl  gcm  gp   gpl

dfa:

23409616
Start thinking about cleaning out some stuff.  There's a partition that has just 23409616.

Date Message

Disk report 23409616 on Sun Jan 28 23:45:43 GMT 2018
tomty89 commented 6 years ago

@sdrausty there shouldn't be any output from bsdtar (as long as nothing goes wrong) if you also use -0 for the proot

You may also consider redirect to a file instead of /dev/null

SDRausty commented 6 years ago

@PluMGMK

44.0K /data/data/com.termux/files/home/arch

There should be an entire OS with 100s of megabytes of data here.

bash setupTermuxArch.sh --sysinfo and ls -aR ~/arch/root output requested. What kind of device do you have? Try again using the --curl option bash setupTermuxArch.sh --curl. This will invoke curl as the download tool. It can be abbreviated to bash setupTermuxArch.sh c. Also can you post df output. This should help improve dfa.

SDRausty commented 6 years ago

@tomty89

You may also consider redirect to a file instead of /dev/null

Thank you for your reply.

there shouldn't be any output from bsdtar (as long as nothing goes wrong) if you also use -0 for the proot

proot --link2symlink bsdtar -xpf $file 2>/dev/null||: in https://github.com/sdrausty/TermuxArch/blob/master/scripts/files/stable/necessaryfunctions.sh#L164 should read similar to proot -0 --link2symlink bsdtar -xpf $file ||:? Is this correct?

tomty89 commented 6 years ago

@sdrausty Yup, and don't forget the x86 line.

tomty89 commented 6 years ago

@sdrausty btw I think you simply have forgotten -h/-H for df in your dfa?

Also I am not sure if it matters for any modern Android build but the right way is probably to run df on the directory bsdtar works on anyway:

$ pwd
/data/data/com.termux/files/home/arch
$ df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/block/dm-1  49G   29G   19G  61% /data
$
SDRausty commented 6 years ago

@tomty89 I am grateful for your diagnostics in this issue. Thank you. Something like du ~/arch/*z is wanted before attempting to unpack. This thread is caused by failed downloads, empty downloads. This is why the files are missing. Can you post the output from dfa?

don't forget the x86 line

I see references to x86 in the man page. How should x86 be used?

tomty89 commented 6 years ago

Sorry I don't follow what you mentioned. What I meant was df /storage/emulated/0 in this line should be df -h . or df -H .: https://github.com/sdrausty/TermuxArch/blob/fe186831dccdc2eef54e62d97705f8824d3b3c2a/scripts/files/stable/necessaryfunctions.sh#L212 And in addition to this line: https://github.com/sdrausty/TermuxArch/blob/fe186831dccdc2eef54e62d97705f8824d3b3c2a/scripts/files/stable/necessaryfunctions.sh#L164 This line should have -0 added for proot and 2>/dev/null removed as well: https://github.com/sdrausty/TermuxArch/blob/fe186831dccdc2eef54e62d97705f8824d3b3c2a/scripts/files/stable/necessaryfunctions.sh#L162

SDRausty commented 6 years ago

@tomty89 How do you get the -h and -H options to work?

$ df -h .                                                                               
Filesystem               Size     Used     Free   Blksize                                         
-h: No such file or directory                                                                    
 .                       24.5G    19.5G     5.0G   4096
$ man df | grep "\-h"                                                                   
$ man df | grep "\-H"
tomty89 commented 6 years ago

Well Termux uses the system df so there will be no man page for it. Maybe in different Android builds the params it takes could vary, I don't know:

$ which df
/data/data/com.termux/files/usr/bin/df
$ cat $(which df)
#!/data/data/com.termux/files/usr/bin/sh
unset LD_LIBRARY_PATH LD_PRELOAD
PATH=$PATH:/system/bin exec /system/bin/df "$@"
$ ls -l /system/bin/df
lrwxr-xr-x    1 root     shell            6 Nov 17 13:21 /system/bin/df -> toybox
$ df --help
usage: df [-HPkh] [-t type] [FILESYSTEM ...]

The "disk free" command shows total/used/available disk space for
each filesystem listed on the command line, or all currently mounted
filesystems.

-P      The SUSv3 "Pedantic" option
-k      Sets units back to 1024 bytes (the default without -P)
-h      Human readable output (K=1024)
-H      Human readable output (k=1000)
-t type Display only filesystems of this type.

Pedantic provides a slightly less useful output format dictated by Posix,
and sets the units to 512 bytes instead of the default 1024 bytes.

$
SDRausty commented 6 years ago

Thanks for your insight.

$ which df
/data/data/com.termux/files/usr/bin/df
$ cat $(which df)
#!/data/data/com.termux/files/usr/bin/sh
unset LD_LIBRARY_PATH LD_PRELOAD
PATH=$PATH:/system/bin exec /system/bin/df "$@"
$ ls -l /system/bin/df
lrwxr-xr-x 1 root shell 7 Dec 31  2008 /system/bin/df -> toolbox
$ df --help
Filesystem               Size     Used     Free   Blksize
--help: No such file or directory

Evidently our dfs differ.

PluMGMK commented 6 years ago

My device is a Fairphone 2. As I say, I'm running LineageOS (version 14.1 to be precise). As such, my df is supplied by toybox as well - ls -l /system/bin/df:

lrwxr-xr-x    1 root     shell            6 Dec 31  2008 /system/bin/df -> toybox

And /system/bin/toybox --version:

0.7.1-3db42e9e9a17-android

I'll try the --curl option later.

SDRausty commented 6 years ago

These two commits: https://github.com/sdrausty/TermuxArch/commit/6cbfc749acb4180941c10f0dc7ecd58f2c0efcaf and https://github.com/sdrausty/TermuxArch/commit/032b7702fc0efa7129c156665838943b10a97315 should close this issue. If not, please comment with setupTermuxArch.sh --sysinfo and ls -al ~/arch output.

PluMGMK commented 6 years ago

Now it's just crashing with 404 errors when trying to download the OS image…


 🕛 < 🕛 This setup script will attempt to set Arch Linux up in your Termux environment.  When successfully completed, Arch Linux shall be available via Termux PRoot on smartphone and tablet.  If you do not see 🕐 one o'clock below, check your Internet connection and run this script again.  

 🕧 < 🕛 Termux package requirements for Arch Linux: OK  

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7685  100  7685    0     0  18882      0 --:--:-- --:--:-- --:--:-- 18835

setupTermuxArch.tar.gz: OK

 🕐 < 🕛 Installation script download: OK  

archsystemconfigs.sh: OK
knownconfigurations.sh: OK
necessaryfunctions.sh: OK
printoutstatements.sh: OK
setupTermuxArch.sh: OK

 🕜 < 🕛 Installation script integrity: OK  

 🕑 < 🕛 Detected armv7lAndroid Operating System.  Warning!  Start thinking about cleaning out some stuff.  The user space on this device is just 23359512.  This is below the recommended amount of free space to install Arch Linux in Termux PRoot.  

 🕝 < 🕛 Activating termux-wake-lock.  Now downloading ArchLinuxARM-armv7-latest.tar.gz and the corresponding checksum.  This may take a long time depending on your Internet connection.  

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
SDRausty commented 6 years ago

@PluMGMK Thanks for posting you output. Run the script again if it gets a 404. I have gotten a couple of 404s too. Rerunning setupTermuxArch.sh resolves this. It probably has to do with the round robin mirror.archlinuxarm.org handing the download link over to your geographically nearby server. The third line from the bottom is the round robin server. While the line bellow that is your geographically nearby server that generates the 404. There can be more than one geographically nearby server too. Your connection speed indicates you should take it into account. Ensure that nothing else is gobling bandwidth. Run the script again if it gets a 404.

If the 404 doesn't go away for some reason by itself like it should, edit knownconfiguration.sh with the mirror of your choosing. See 32#issuecomment for instructions how to specify a mirror. https://archlinuxarm.org/about/mirrors for mirrors and knownconfigurations.sh#L5.

tomty89 commented 6 years ago

@sdrausty You forgot to remove 2>/dev/null in https://github.com/sdrausty/TermuxArch/commit/6cbfc749acb4180941c10f0dc7ecd58f2c0efcaf

tomty89 commented 6 years ago

@sdrausty btw you may want to do a readlink /system/bin/df check for https://github.com/sdrausty/TermuxArch/blob/fe186831dccdc2eef54e62d97705f8824d3b3c2a/scripts/files/stable/necessaryfunctions.sh#L212 if it returns toolbox, do df .; otherwise, do df -h .

SDRausty commented 6 years ago
🕛 < 🕛 This BASH script will attempt to install Arch Linux in a Termux PRoot environment.  When successfully completed, Arch Linux will be available via Termux.  If you do not see 🕐 one o'clock below, check your Internet connection.

 🕧 < 🕛 Termux package requirements for Arch Linux: OK

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    57  100    57    0     0     18      0  0:00:03  0:00:03 --:--:--    18
100  7686  100  7686    0     0   2290      0  0:00:03  0:00:03 --:--:--  3523

setupTermuxArch.tar.gz: OK

 🕐 < 🕛 Installation BASH script download: OK

archsystemconfigs.sh: OK
knownconfigurations.sh: OK
necessaryfunctions.sh: OK
printoutstatements.sh: OK
setupTermuxArch.sh: OK

 🕜 < 🕛 Installation BASH script integrity: OK

 🕑 < 🕛 Detected aarch64 Android Operating System.

 🕝 < 🕛 Activating termux-wake-lock.  Now downloading ArchLinuxARM-aarch64-latest.tar.gz and the corresponding checksum.  This may take a long time depending on your Internet connection.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:16 --:--:--
PluMGMK commented 6 years ago

Okay, I've forced it to use de4.mirror.archlinuxarm.org (as opposed to nl.mirror.archlinuxarm.org which is missing the /os subdir for some reason). But now I'm getting: archsystemconfigs.sh: line 142: etc/motd: No such file or directory How can this be?

tomty89 commented 6 years ago

Seriously, just download it with chrome or whatsoever and run:

mkdir arch
cd arch
proot --link2symlink -0 bsdtar -xpf /sdcard/Download/ArchLinuxARM-armv7-latest.tar.gz

and see what exactly went wrong, because @sdrausty still haven't remove 2>/dev/null. There's no point keep repeat downloading and guessing.

PluMGMK commented 6 years ago

Okay, I got rid of the 2>/dev/null myself, and it told me bsdtar was being killed with signal 9. When I tried running bsdtar outside of a proot, it wasn't able to get the right permissions, but then when I ran setupTermuxArch.sh again it was happy because all the files were there anyway. Seems to work at last! That signal 9 worries me, and should probably be a separate issue. Anyone else got this on LineageOS 14.1?

tomty89 commented 6 years ago

@PluMGMK you''ll probably get into trouble at some point with the installation if it wasn't extracted with proot --link2symlink, as hard link does not work in Android/Termux. Also if proot doesn't work in your phone, you cannot "start" Arch anyway.

PluMGMK commented 6 years ago

Nah, it starts fine. Seems bsdtar was the problem, not proot itself.

tomty89 commented 6 years ago

@PluMGMK still you'll catch problems with it because of the missing links. You may want to try GNU tar instead.

tomty89 commented 6 years ago

Actually busybox tar might even work better coz it doesn't spit tons of header keyword ignored message like GNU tar does

SDRausty commented 6 years ago

https://github.com/sdrausty/TermuxArch/releases/tag/0.6

TermuxArch v0.6 Arch Linux in Termux PRoot See https://sdrausty.github.io/TermuxArch/docs/install for installation instructions.

Thanks for the heads up, assistance in diagnostics and suggestions.

SDRausty commented 6 years ago

bash ~/setupTermuxArch.sh --help has new information regarding topics discussed in this thread with this https://github.com/sdrausty/TermuxArch/commit/abc7e5531682a293fdb67248b387f2731ed2bd1d update.

SDRausty commented 6 years ago

@PluMGMK bash setupTermuxArch.sh --bloom deposits the entire script in ~/TermuxArchBloom for custom modifications. Use bash setupTermuxArch.sh --run to run the script from ~/TermuxArchBloom.

@tomty89

busybox tar might even work

Thanks for the suggestion. Arm architectures now use the busybox version oftar by default https://github.com/sdrausty/TermuxArch/releases/tag/0.8.3 with this release.