guardianproject / lildebi

UNMAINTAINED please adopt! we can no longer maintain this
https://guardianproject.info/code
GNU General Public License v3.0
229 stars 55 forks source link

tmp-mksh: <stdin>[6]: ./create-debian-setup.sh: No such file or directory [Android 5.1] #196

Open sgeto opened 8 years ago

sgeto commented 8 years ago

this is the error I am getting when trying to start Debian. I am running CM 12.1, and user @godlessfather briefly mentioned this workaround in a previous post:

The busybox binary in 0.5.3 does not work with Android 5.x. The nightly on guardianproject.org is partially functional at the moment for 5.x. With some tweaks (copying CM's busybox and editing the install script for cdebootstrap to allow unauthenticated), you could get an install to complete if you are fine with cdebootstrap not verifying the repo signatures on the first stage of the install. After the install, the start button will work fine but stop button won't work; it must be stopped manually.

Can anyone confirm this? If it works then I would also very much appreciate if someone could guide me a little in achieving this. where do I find CM's busybox binary? and which part of the install script should I edit?

my current install.log file is attached

thanks in advance.

ali

install.log.txt

sgeto commented 8 years ago

Having waited for an replay, I would like to post an update for those who might be reading this in the future and would like to know more. I have replace the CM busybox binary found in /system/xbin with the one supplied with the install in /data/data/info.guardianproject.lildebi/app_bin after that the install initiated but starts hanging halfway through and starts populating the follow error:

ERROR: ld.so: object ‘libsigchain.so’ from LD_PRELOAD cannot be preloaded: ignored

not sure why he would do that but I will keep you updated... :-D

cheers,

adamjhogan commented 8 years ago

Running a fresh install is not going to work right now without disabling gpgv check during the initial stage of installation (edit create-debian-setup.sh to add "--allow-unauthenticated" to the cdebootstrap-static command). I mentioned the LD_PRELOAD solution ("unset LD_PRELOAD" before entering the chroot) in another issue.

sgeto commented 8 years ago

thanks so much @godlessfather. I will definitely try this later. Oh man, I can wait for it to finally run it. if the LD_PRELOAD issue would still exists after editing create-debian-setup.sh, would you be so kind and help me on resolving this? You could also just leave me the link to the issue and I would help myself.

adamjhogan commented 8 years ago

Just to verify, I downloaded the latest apk from f-droid, copied over busybox with a working version, changed create-debian-setup.sh to allow an unauthenticated installation (you'll also have to remove $KEYRING from that command to avoid gpgv issues, and then set installation information as follows:

Release: sid Mirror: mirrors.kernel.org Arch: armhf

I then started Lil' Debi from a script containing the information outlined in https://github.com/guardianproject/lildebi/issues/145#issuecomment-71318349.

There are some errors but I was able to get into a newly created chroot, install wget and openssh-server, and run some things without much hassle.

sgeto commented 8 years ago

got it. Thanks and wish me luck

c-willy commented 8 years ago

First time poster. I can confirm that GodlessFather's method works as long as you are ok with skipping signature verification in setup. I installed busybox from Fdroid / guardian project repos with the client app, modified the install script at /system/user/0/info.guardianproject.lildebi/app_bin/create-debian-setup.sh according to GodlessFather's instructions, but skipping the three lines for configuring the repo (since they are already set with variables earlier on in the script). If you are new to the chroot game like me, remember that you will need to enable root in CyanogenMod in order to allow the script to write to /data and /system on the phone, start lil debi at boot, etc.Also, in lilDebi Settings, I ticked the box to allow lilDebi to install to /Data instead of a predefined image - this affects directory locations in my instructions and simplifies mounting, unmounting. Also, you may find it easier to do what I did to start the script: instead of using the button in the lildebi app, go to your terminal after installing Busybox and the lildebi app, then use busybox in its current location to run the script:

# /system/xbin/busybox --install -s /data/user/0/info.guardianproject.lildebian/app_bin # /data/user/0/info.guardianproject.lildebi/app_bin/create-debian-setup.sh It takes care of itself from there. if you install the Terminal program BEFORE lilDebi, you can use the terminal button in the lildebi app to start a session in your new chroot environment. If not, just open whatever terminal program you have and chroot in with the shortcut that was added by the install script: $ /debian/shell Unfortunately, the debian-start.sh script used by the app for the "Start Debian" button is focused on starting debian from a filesystem in an image in the /sdcard directory - it does not start up debian from the /data/data directory correctly after the first run (in my limited experience with this app)