meefik / linuxdeploy

Install and run GNU/Linux on Android
https://meefik.github.io/linuxdeploy
GNU General Public License v3.0
5.22k stars 680 forks source link

CM 13 - Install fails - cm wget fails, use busybox wget. #499

Open threader opened 8 years ago

threader commented 8 years ago

Hi,

Linux deploy tries to use CM wget, outside the wget enclosed in busybox. Suggest using "$busybox" wget or something to call wget. Fix:

root@i9100:/ # which wget
/system/xbin/wget
root@i9100:/ # ls -la /system/xbin/wget                                                                                                                                                         
-rwxr-xr-x 1 root shell 5611 2009-01-01 09:00 /system/xbin/wget
root@i9100:/ # mv /system/xbin/wget /system/xbin/wget-cm
root@i9100:/ # busy
busybox  busybox- 
root@i9100:/ # busybox --install /system/xbin/                                                                                                                                                  
root@i9100:/ # ls -la /system/xbin/wget                                                                                                                                                         
-rwxr-xr-x 36 root shell 1685420 2016-04-25 16:22 /system/xbin/wget

Fault:

root@i9100:/data/local/linux/debootstrap # wget -O /data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release http://145.220.21.40/os/Linux/distr/kali/dists/ka>
/system/xbin/wget[160]: getopts: arguments changed since last call
http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release
######################################################################## 100.0%
 results in empty file .... 

root@i9100:/data/local/linux/debootstrap # wget --help                                                                                                                                          
/system/xbin/wget[160]: getopts: arguments changed since last call
root@i9100:/data/local/linux/debootstrap # bash
i9100 debootstrap # wget --help
/system/xbin/wget[160]: getopts: arguments changed since last call
i9100 debootstrap # exit
exit
1|root@i9100:/data/local/linux/debootstrap # busybox wget --help                                                                                                                                
BusyBox v1.25.0.git (2016-04-25 15:21:19 BST) multi-call binary.

Usage: wget [-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE]
    [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
    [-U|--user-agent AGENT] [-T SEC] URL...

Retrieve files via HTTP or FTP

    -s  Spider mode - only check file existence
    -c  Continue retrieval of aborted transfer
    -q  Quiet
    -P DIR  Save to DIR (default .)
    -T SEC  Network read timeout is SEC seconds
    -O FILE Save to FILE ('-' for stdout)
    -U STR  Use STR for User-Agent header
    -Y  Use proxy ('on' or 'off')
root@i9100:/data/local/linux/debootstrap # cat debootstrap.log                                                                                                                                  
+ [  ]
+ . /data/user/0/ru.meefik.linuxdeploy/files/share/debootstrap/scripts/kali-rolling
+ default_mirror http://http.kali.org/kali
+ DEF_MIRROR=http://http.kali.org/kali
+ mirror_style release
+ DOWNLOAD_INDICES=download_release_indices
+ DOWNLOAD_DEBS=download_release
+ export DOWNLOAD_INDICES
+ export DOWNLOAD_DEBS
+ download_style apt
+ [  = var-state ]
+ APTSTATE=var/lib/apt
+ DLDEST=apt_dest
+ export APTSTATE DLDEST DEBFOR
+ finddebs_style from-indices
+ FINDDEBS_NEEDS_INDICES=true
+ variants - buildd fakechroot minbase scratchbox
+ SUPPORTED_VARIANTS=- buildd fakechroot minbase scratchbox
+ doing_variant -
+ [ - =  ]
+ [ - = - ]
+ [  =  ]
+ return 0
+ return 0
+ keyring /usr/share/keyrings/kali-archive-keyring.gpg
+ KEYRING_WANTED=/usr/share/keyrings/kali-archive-keyring.gpg
+ [ -z  ]
+ [ -e /usr/share/keyrings/kali-archive-keyring.gpg ]
+ doing_variant fakechroot
+ [ fakechroot =  ]
+ [ fakechroot = - ]
+ return 1
+ LIBC=libc6
+ [  = true ]
+ MIRRORS=http://http.kali.org/kali
+ [ http://145.220.21.40/os/Linux/distr/kali/ !=  ]
+ MIRRORS=http://145.220.21.40/os/Linux/distr/kali/
+ MIRRORS=http://145.220.21.40/os/Linux/distr/kali
+ export MIRRORS
+ ok=false
+ doing_variant -
+ [ - =  ]
+ [ - = - ]
+ [  =  ]
+ return 0
+ ok=true
+ doing_variant buildd
+ [ buildd =  ]
+ [ buildd = - ]
+ return 1
+ doing_variant fakechroot
+ [ fakechroot =  ]
+ [ fakechroot = - ]
+ return 1
+ doing_variant minbase
+ [ minbase =  ]
+ [ minbase = - ]
+ return 1
+ doing_variant scratchbox
+ [ scratchbox =  ]
+ [ scratchbox = - ]
+ return 1
+ true
+ am_doing_phase finddebs
+ local x
+ echo  finddebs dldebs first_stage 
+ grep -q  finddebs 
+ return 0
+ [ true = true ]
+ download_indices
+ mk_download_dirs
+ [ apt_dest = apt_dest ]
+ mkdir -p /data/local/linux/var/lib/apt/lists/partial
+ mkdir -p /data/local/linux/var/cache/apt/archives/partial
+ sort
+ echo
+ tr   \n
+ download_release_indices
+ local m1=http://145.220.21.40/os/Linux/distr/kali
+ apt_dest rel kali-rolling http://145.220.21.40/os/Linux/distr/kali dists/kali-rolling/Release
+ local m=http://145.220.21.40/os/Linux/distr/kali
+ m=debootstrap.invalid
+ printf %s var/lib/apt/lists/
+ sed s/\//_/g
+ echo debootstrap.invalid_dists/kali-rolling/Release
+ local reldest=/data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
+ local relsigdest
+ progress 0 100 DOWNREL Downloading Release file
+ local now=0
+ local end=100
+ local name=DOWNREL
+ local fmt=Downloading Release file
+ shift
+ shift
+ shift
+ shift
+ [  ]
+ progress_next 100
+ PROGRESS_NEXT=100
+ get http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release nocache
+ local displayname
+ [ /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release != /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release ]
+ echo http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release
+ sed s,^.*/,,
+ displayname=Release
+ [ -e /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release ]
+ [ nocache = nocache ]
+ set http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
+ [ 2 -gt 5 ]
+ local order=3
+ eval echo ${3}
+ echo
+ local checksum=
+ eval echo ${4}
+ echo
+ local siz=
+ eval echo ${5}
+ echo
+ local typ=
+ local from
+ local dest
+ local iters=0
+ from=http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release
+ dest=/data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
+ [ data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release = /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release ]
+ local dest2=/data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
+ [ -d /data/local/linux/var/lib/apt/lists/partial ]
+ dest2=/data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release
+ [ 0 -lt 10 ]
+ info RETRIEVING Retrieving %s Release
+ local name=RETRIEVING
+ local fmt=Retrieving %s
+ shift
+ shift
+ [  ]
+ printf I: Retrieving %s\n Release
+ just_get http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release /data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release
+ local from=http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release
+ local dest=/data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release
+ mkdir -p /data/local/linux/var/lib/apt/lists/partial
+ [ http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release != http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release ]
+ [ 145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release != http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release ]
+ wgetprogress -O /data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release
+ [ !  ]
+ QSWITCH=-q
+ local ret=0
+ [  ]
+ wget -q -O /data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release http://145.220.21.40/os/Linux/distr/kali/dists/kali-rolling/Release
+ ret=0
+ return 0
+ return 0
+ [  !=  ]
+ [ -z  ]
+ [ /data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release = /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release ]
+ mv /data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
mv: can't rename '/data/local/linux/var/lib/apt/lists/partial/debootstrap.invalid_dists_kali-rolling_Release': No such file or directory
+ return 0
+ apt_dest rel kali-rolling http://145.220.21.40/os/Linux/distr/kali dists/kali-rolling/Release.gpg
+ local m=http://145.220.21.40/os/Linux/distr/kali
+ m=debootstrap.invalid
+ printf %s var/lib/apt/lists/
+ echo debootstrap.invalid_dists/kali-rolling/Release.gpg
+ sed s/\//_/g
+ relsigdest=/data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release.gpg
+ progress 100 100 DOWNREL Downloading Release file
+ local now=100
+ local end=100
+ local name=DOWNREL
+ local fmt=Downloading Release file
+ shift
+ shift
+ shift
+ shift
+ [  ]
+ download_release_sig http://145.220.21.40/os/Linux/distr/kali /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release.gpg
+ local m1=http://145.220.21.40/os/Linux/distr/kali
+ local reldest=/data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
+ local relsigdest=/data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release.gpg
+ [ -n  ]
+ [ -z 1 ]
+ extract_release_components /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
+ local reldest=/data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
+ shift
+ sed -n s/Components: *//p /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release
sed: /data/local/linux/var/lib/apt/lists/debootstrap.invalid_dists_kali-rolling_Release: No such file or directory
+ TMPCOMPONENTS=
+ exit_function
+ local n=0
+ [ 0 -lt 0 ]
+ N_EXIT_THINGS=0
threader commented 8 years ago

hah. FATAL: kernel too old

huan commented 8 years ago

This bug waste my whole day to fix it on my Nexus5X with CM13 ...

I will send a pull request to fix this under your method.

meefik commented 8 years ago

@zixia This is not a universal solution to the problem.

Possible solutions:

  1. Install compatable BusyBox, check "Settings -> Replace applets" and tap "Install" button.
  2. Install compatable BusyBox and run it. Run Linux Deploy, change "Settings -> BusyBox directory" to /data/data/ru.meefik.busybox/files/bin and run "Settings -> Update ENV".
  3. Create /data/local/bin directory from terminal and change the permissions to 755 (mkdir /data/local/bin && chmod 755 /data/local/bin). Install compatable BusyBox, change "Settings -> Install path" to /data/local/bin and and tap "Install" button. Run Linux Deploy, change "Settings -> BusyBox directory" to /data/local/bin and run "Settings -> Update ENV".
huan commented 8 years ago

@meefik I agree. my pull is just a dirty & quick fix, because I assume user have already had a right version of busybox installed. (as said in help screen, as a requirement)

your solution is better. If I get to know this when I open LinuxDeploy, I could save lots of time today.

I suggest we put those messages(description of your possible solutions) in to Help page. If it can be set automatically when click Propertie -> Install would be awesome.

BTW: I did not find "Settings -> Replace applets" in my Linux Deploy app, which is download from google play today.

BTW2: CM13 also have no zcat busybox applet, which is needed during the install procedure.