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

Install failed after busybox symlinks were not created #46

Open monnier opened 11 years ago

monnier commented 11 years ago

I'm trying to install LilDebi on a mk808 dongle running Android 4.1 and it failed right away: after starting LilDebi (installed from F-Droid), I clicked "Install...", selected 300MB, then clicked "Install" at which point some text was printed (maybe 3-4 lines of text, the last line probably started with "exec: ") but before I had a chance to read that text I was brought back to the dialog where I can push "Install...". Is there a way to see the (error?) message? Or is there a way to run the install script by hand from a text terminal?

eighthave commented 11 years ago

You can view and share the complete install log in the Install Log View screen, available from the menu. The menu also gives you the preferences, and a shortcut to deleting the whole install to try again.

monnier commented 11 years ago

OK, here's what "view install log" tells me (hand-copied):

# cd /data/data/info.guardianproject.lildebi/app_bin
su: exec failed for /data/data/info.guardianproject.lildebi/app_bin/sh Error: No such file or directory

I hope those two lines can give you some idea about what's going on.

eighthave commented 11 years ago

So it seems like somehow the app_bin/ folder was not unpacked when the app launched. Is there anything in logcat? Either you can connect with your computer via adb or use aLogCat in Android.

monnier commented 11 years ago

In the mean time I tried to uninstall+reinstall LilDebi, and I also tried to download the debian-squeeze.img but trying to start it bumped into a similar problem. So I looked again at that app_bin folder and I think the problem is that the busybox --install -s foo/app_bin somehow failed, so the links are all missing. I ran "./busybox --install -s ." and things reverted to normal. Not sure why that step would have failed, tho. One problem remaining is that fsck.ext2 is missing, not sure if it's related.

eighthave commented 11 years ago

app_bin/fsck.ext2 is provided by busybox, so yeah, that's related. The busybox symlinks are essential to the whole process, so without them, nothing will work. Running ./busybox --install -s . manually worked? Does the folder /data/data/info.guardianproject.lildebi/app_bin get created?

monnier commented 11 years ago

Hmm... the busybox I find in /data/data/info.guardianproject.lildebi/app_bin in F-Droid's LilDebi does not seem to include fsck.ext2. On my Mele-A2000, that does not seem to be a problem, although I don't know where it finds the fsck used to check the filesystem before mounting it.

eighthave commented 11 years ago

I just had an insight into this problem: did you build the APK yourself? If so, did you run make -C external assets before building it? Otherwise, busybox won't be included in the APK.

monnier commented 11 years ago

No, as mentioned, I installed the apk from F-Droid. And busybox was definitely in the /data/data/info.guardianproject.lildebi/app_bin directory.