corbinlc / gnuroot

154 stars 29 forks source link

> I launched file system, but it can not boot. #109

Open abbud666 opened 5 months ago

abbud666 commented 5 months ago
          > I launched file system, but it can not boot.

What are the outputs?

I need to modify boot script, please give me any suggestions ?

First, be sure that the new proot binary is marked as executable since the "x" bit doesn't survive HTTP download.

Then, because Andoid does not provide a world-writable /tmp, you have to tell PRoot to use a pre-extracted loader:

export PROOT_LOADER=path/to/proot-arm-loader

where proot-arm-loader can be extracted from the proot-arm binary this way:

bash$ dd if=proot-arm of=proot-arm-loader bs=1 count=$((16#00008638)) skip=$((16#000b4dfc-16#000ae108+16#09e108))

These constants were obtained using sorcery^W readelf:

bash$ readelf -sW proot-arm | egrep '(loader|data_start)'
   504: 000be2c8     4 OBJECT  LOCAL  DEFAULT   22 loader_path.8296
  3869: 000b4dfc     0 NOTYPE  GLOBAL DEFAULT   21 _binary_loader_exe_start
  4483: 000bd434     0 NOTYPE  GLOBAL DEFAULT   21 _binary_loader_exe_end
  4553: 00008638     0 NOTYPE  GLOBAL DEFAULT  ABS _binary_loader_exe_size
  4738: 000ae108     0 NOTYPE  WEAK   DEFAULT   21 data_start
  5079: 000ae108     0 NOTYPE  GLOBAL DEFAULT   21 __data_start

Also, keep in mind that GNURoot provides a extended version of PRoot that emulates hard links, so even if it seems to work with a "vanilla" version, you migth run into troubles when installing some packages:

https://groups.google.com/d/msg/proot_me/SBemgRlXg2Y/AEc8sE82-MsJ

Regards, Cédric.

PS: @pelya already updated PRoot in Debian noroot (https://github.com/pelya/cuntubuntu/commit/521822d31492004cbfb7aa1839eb07434af1c53e), however I don't know if it is released yet.

Originally posted by @cedric-vincent in https://github.com/corbinlc/gnuroot/issues/33#issuecomment-65198338

username-is-not commented 4 months ago

Hey, this project has been dormant /dead for quite some time, yea?..

EDIT: Plus, this looks like all proot things for non-rooted devices; so not very interesting, except running on TVs, or something like that? :o aanyway 🙂