I just set up a new LG G5, rooted with LineageOS Nougat and it's working great. I'd like to install BusyBox but I have nightmares of BusyBox problems with my previous phone not working with some apps. I've even seen some reviews that claim the BusyBox install throws up ads. Every BusyBox installation calls itself the best, the most reliable, etc.
Can anyone tell me if there is there any difference between different BusyBox installers? Are there any that are lower power than others?
Thank you.
EEngineer said:
I just set up a new LG G5, rooted with LineageOS Nougat and it's working great. I'd like to install BusyBox but I have nightmares of BusyBox problems with my previous phone not working with some apps. I've even seen some reviews that claim the BusyBox install throws up ads. Every BusyBox installation calls itself the best, the most reliable, etc.
Can anyone tell me if there is there any difference between different BusyBox installers? Are there any that are lower power than others?
Thank you.
Click to expand...
Click to collapse
In effect, yes, they should all install the busybox binaries, the binaries are all you need. Some of the installers may come with bloated features or other software installed along with it but all you need is a basic version that installs the binaries and the busybox module manager.
Droidriven said:
In effect, yes, they should all install the busybox binaries, the binaries are all you need. Some of the installers may come with bloated features or other software installed along with it but all you need is a basic version that installs the binaries and the busybox module manager.
Click to expand...
Click to collapse
But do they all install the SAME BusyBox binaries?
EEngineer said:
But do they all install the SAME BusyBox binaries?
Click to expand...
Click to collapse
first we need to know what is busybox ..
BusyBox combines tiny versions of many common UNIX utilities into a single small executable.
now your question do they all install the SAME BusyBox binaries
the answer is NO some busybox are static other have auto update feature ... other just choose to install utilities that are mostly used on rooted device ... i guess if your application need busybox and complain busybox is not installed when indeed you have busybox you need to change busybox version
When I ask are they all the same BusyBox binaries, I'm asking are they all from the same compiled source or repositories, or do the authors of the installers code and compile the binaries themselves?
Quite obviously, different versions of BusyBox will have different binaries. That is not what I am asking.
EEngineer said:
When I ask are they all the same BusyBox binaries, I'm asking are they all from the same compiled source or repositories, or do the authors of the installers code and compile the binaries themselves?
Quite obviously, different versions of BusyBox will have different binaries. That is not what I am asking.
Click to expand...
Click to collapse
Index of /downloads/binaries
hope that answer your question ..
also there are variant such as this busybox Magisk module which is NDK
Android NDK is a set of tools that lets you implement parts of your Android app using native-code languages such as C and C++ and provides platform libraries that you can use to manage activities, and access the physical components of the device, such as the various sensors and display.
so he converted UNIX command/utilities supplied by busybox equivalent to C or C++ as of writing this are the list of command that busybox supplied
Code:
[, [[, acpid, addgroup, adduser, adjtimex, ar, arp, arping, ash,
awk, basename, beep, blkid, brctl, bunzip2, bzcat, bzip2, cal, cat,
catv, chat, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot,
chrt, chvt, cksum, clear, cmp, comm, cp, cpio, crond, crontab,
cryptpw, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod,
devmem, df, dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname,
dos2unix, dpkg, du, dumpkmap, dumpleases, echo, ed, egrep, eject,
env, envdir, envuidgid, expand, expr, fakeidentd, false, fbset,
fbsplash, fdflush, fdformat, fdisk, fgrep, find, findfs, flash_lock,
flash_unlock, fold, free, freeramdisk, fsck, fsck.minix, fsync,
ftpd, ftpget, ftpput, fuser, getopt, getty, grep, gunzip, gzip, hd,
hdparm, head, hexdump, hostid, hostname, httpd, hush, hwclock, id,
ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init, inotifyd,
insmod, install, ionice, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink,
iproute, iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd,
last, length, less, linux32, linux64, linuxrc, ln, loadfont,
loadkmap, logger, login, logname, logread, losetup, lpd, lpq, lpr,
ls, lsattr, lsmod, lzmacat, lzop, lzopcat, makemime, man, md5sum,
mdev, mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.minix, mkfs.vfat,
mknod, mkpasswd, mkswap, mktemp, modprobe, more, mount, mountpoint,
mt, mv, nameif, nc, netstat, nice, nmeter, nohup, nslookup, od,
openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress,
pivot_root, pkill, popmaildir, printenv, printf, ps, pscan, pwd,
raidautorun, rdate, rdev, readlink, readprofile, realpath,
reformime, renice, reset, resize, rm, rmdir, rmmod, route, rpm,
rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script,
scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont,
setkeycodes, setlogcons, setsid, setuidgid, sh, sha1sum, sha256sum,
sha512sum, showkey, slattach, sleep, softlimit, sort, split,
start-stop-daemon, stat, strings, stty, su, sulogin, sum, sv,
svlogd, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac,
tail, tar, taskset, tcpsvd, tee, telnet, telnetd, test, tftp, tftpd,
time, timeout, top, touch, tr, traceroute, true, tty, ttysize,
udhcpc, udhcpd, udpsvd, umount, uname, uncompress, unexpand, uniq,
unix2dos, unlzma, unlzop, unzip, uptime, usleep, uudecode, uuencode,
vconfig, vi, vlock, volname, watch, watchdog, wc, wget, which, who,
whoami, xargs, yes, zcat, zcip
EEngineer said:
When I ask are they all the same BusyBox binaries, I'm asking are they all from the same compiled source or repositories, or do the authors of the installers code and compile the binaries themselves?
Quite obviously, different versions of BusyBox will have different binaries. That is not what I am asking.
Click to expand...
Click to collapse
BusyBox is opensource, so anybody can writes changes to the code and then build the binary by themselves.
A newer released version is different than an older binary.
The busybox has an official source, sent by @ineedroot69 (https://www.busybox.net)
Some installers can share the same binary if they were obtained from the same source and are the same version.
But, if the busybox was built with changes and customized, the binary will be different.
So, the answer for your question is: MAYBE. Just check it comparing their md5sum
VD171 said:
BusyBox is opensource, so anybody can writes changes to the code and then build the binary by themselves.
:
Some installers can share the same binary if they were obtained from the same source and are the same version.
But, if the busybox was built with changes and customized, the binary will be different.
So, the answer for your question is: MAYBE. Just check it comparing their md5sum
Click to expand...
Click to collapse
Thank you, that explains it clearly.
Related
Obviously there are some missing tools from the linux OS on the droid, so I'm looking to install busybox. I went directly to the source and tried to compile and install it on the phone, but it doesn't seem to work quite well.
I see a lot of people are including a version of busybox on their custom mods, but I'm not really looking to install a custom mod on my phone quite yet, but I would like the tools.
Does anyone know where I can download a good version of busybox that works on the Sprint HTC Hero without installing a rom?
I searched around the forums, but I'm not able to find anything quite yet.
I compiled one just today for some other stuff, not fully tested, but here you are.
Let me know how it works.
[email protected]:~/android/src/busybox-1.15.2$ file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
packetlss said:
I compiled one just today for some other stuff, not fully tested, but here you are.
Let me know how it works.
[email protected]:~/android/src/busybox-1.15.2$ file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
Click to expand...
Click to collapse
Nice. Cheers. I'll let you know how it goes.
Care to provide how do you install this into the Hero? I'm also interested as I don't want to use a custom ROM
Nazgulled said:
Care to provide how do you install this into the Hero? I'm also interested as I don't want to use a custom ROM
Click to expand...
Click to collapse
I'm assuming you push it, via adb....correct, packetlss?
NOTE: backup before you try, writing this from the top of my head at 4 am.
To install:
run "adb remount" (to enable rw on /system)
run "adb push busybox /data/local" (so you got busybox somewhere on the phone)
run "adb shell" (to enter shell on phone)
in phone shell:
run "/data/local/busybox mkdir /system/xbin" (wanna make sure the directory exist)
run "/data/local/busybox cp /data/local/busybox /system/xbin/busybox" (copy busybox to xbin)
run "cd /system/xbin"
run "./busybox --install -s /system/xbin" (this should create symlinks for all the busybox applets)
run "ls -al" (you should see alot of symlinks)
run "rm /data/local/busybox" (remove the temporary busybox)
Thanks a lot for that...
Now I just need to learn how to do that directly into a custom ROM. Do you happen to know?
packetlss said:
NOTE: backup before you try, writing this from the top of my head at 4 am.
To install:
run "adb remount" (to enable rw on /system)
run "adb push busybox /data/local" (so you got busybox somewhere on the phone)
run "adb shell" (to enter shell on phone)
in phone shell:
run "/data/local/busybox mkdir /system/xbin" (wanna make sure the directory exist)
run "/data/local/busybox cp /data/local/busybox /system/xbin/busybox" (copy busybox to xbin)
run "cd /system/xbin"
run "./busybox --install -s /system/xbin" (this should create symlinks for all the busybox applets)
run "ls -al" (you should see alot of symlinks)
run "rm /data/local/busybox" (remove the temporary busybox)
Click to expand...
Click to collapse
So I followed that and accomplished it, I'm wondering what next? I have an app called SU File Manager & Terminal installed and it requires busybox. I don't see any new features or benefits? Am I not looking in the right place?
I'm having a permission issue getting this to install on my Hero.
Firstly I can't run 'adb remount'. I get:
remount failed: Operation not permitted
I'm not sure why.
So instead of remounting from there, I went into the adb shell and ran:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
This remounts rw /system just fine. I then I proceed with my install. I copy busybox to the /system/xbin folder and I run:
./busybox --install -s /system/xbin
However, I again get:
./busybox: permission denied
I have root access and I'm in su. I was able to mount system rw and make the xbin directly, along with copy the file to the folder, so I'm curious why i'm not able to install this.
Would anyone have a clue? It's 2:30am here, so I might be missing something or doing something incredibly stupid and just not realizing it.
Thanks!
VoXHTC said:
So I followed that and accomplished it, I'm wondering what next? I have an app called SU File Manager & Terminal installed and it requires busybox. I don't see any new features or benefits? Am I not looking in the right place?
Click to expand...
Click to collapse
posted by mistake ignore...
mrbrice said:
I'm having a permission issue getting this to install on my Hero.
Firstly I can't run 'adb remount'. I get:
remount failed: Operation not permitted
I'm not sure why.
So instead of remounting from there, I went into the adb shell and ran:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
This remounts rw /system just fine. I then I proceed with my install. I copy busybox to the /system/xbin folder and I run:
./busybox --install -s /system/xbin
However, I again get:
./busybox: permission denied
I have root access and I'm in su. I was able to mount system rw and make the xbin directly, along with copy the file to the folder, so I'm curious why i'm not able to install this.
Would anyone have a clue? It's 2:30am here, so I might be missing something or doing something incredibly stupid and just not realizing it.
Thanks!
Click to expand...
Click to collapse
Make sure that busybox is executable:
chmod 755 busybox
VoXHTC said:
So I followed that and accomplished it, I'm wondering what next? I have an app called SU File Manager & Terminal installed and it requires busybox. I don't see any new features or benefits? Am I not looking in the right place?
Click to expand...
Click to collapse
Busybox gives you command line tools. I have no idea what that particular app uses it for. That is something you have to speak to them about.
packetlss said:
Make sure that busybox is executable:
chmod 755 busybox
Click to expand...
Click to collapse
Yeah, I had thought that, so I made sure it was executable before hand
Code:
# ls -la
ls -la
drwxrwxrwx system system 2009-11-29 07:48 nandroid
drwxrwxrwx system system 2009-11-29 05:00 rosie_scroll
-rwxrwxrwx system system 698452 2009-11-28 21:47 busybox
# ./busybox --install -s /system/xbin
./busybox --install -s /system/xbin
./busybox: permission denied
Any other idea why it might be giving me this?
mrbrice said:
Yeah, I had thought that, so I made sure it was executable before hand
Code:
# ls -la
ls -la
drwxrwxrwx system system 2009-11-29 07:48 nandroid
drwxrwxrwx system system 2009-11-29 05:00 rosie_scroll
-rwxrwxrwx system system 698452 2009-11-28 21:47 busybox
# ./busybox --install -s /system/xbin
./busybox --install -s /system/xbin
./busybox: permission denied
Any other idea why it might be giving me this?
Click to expand...
Click to collapse
Don't run it from /sdcard, copy it to /data/local.
/sdcard is mounted noexec.
packetlss said:
Don't run it from /sdcard, copy it to /data/local.
/sdcard is mounted noexec.
Click to expand...
Click to collapse
Ahh. My bad. I had followed your instructions initially but I must not have changed the permissions that time around (messing around at 2am, you make mistakes. )
Thanks for all the help, not only compiling this, but for the assistance getting it working.
Cheers man. Good job.
If you guys want some other applets added to it, let me know and I'll compile a new one.
I think I got all the useful stuff in there though.
packetlss said:
If you guys want some other applets added to it, let me know and I'll compile a new one.
I think I got all the useful stuff in there though.
Click to expand...
Click to collapse
I'm trying to make my own custom ROM (nothing too fancy, just something to fit my needs) and I'm including busybox. It would be nice to have a list of all the busybox utilities (after the --install thing) so I could do the appropriate changes to the update-script manually.
Thanks for taking your time with this
Time to necro this thread again
New busybox out for those that cares, 1.15.3.
Code:
Code:
BusyBox v1.15.3 (2009-12-13 23:28:29 CET) multi-call binary
Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!
Currently defined functions:
[, [[, arping, ash, awk, basename, bbconfig, bunzip2, bzcat, bzip2,
cat, catv, chattr, chgrp, chmod, chown, chroot, chrt, cksum, clear,
cmp, cp, cpio, cut, date, dc, dd, depmod, devmem, df, diff, dirname,
dmesg, dnsd, dnsdomainname, dos2unix, du, echo, egrep, env, ether-wake,
expr, false, fbset, fbsplash, fdisk, fgrep, find, fold, free,
freeramdisk, fsck, fuser, getopt, grep, gunzip, gzip, head, hexdump,
hostname, ifconfig, insmod, install, ip, ipaddr, ipcalc, iplink,
iproute, iprule, iptunnel, kill, killall, killall5, last, length, less,
ln, losetup, ls, lsattr, lsmod, md5sum, mkdir, mkdosfs, mkfifo,
mkfs.vfat, mknod, mkswap, mktemp, modprobe, more, mount, mountpoint,
mv, nc, netstat, nice, nmeter, nohup, nslookup, od, patch, pidof, ping,
pipe_progress, printenv, printf, ps, pscan, pwd, rdev, readlink,
realpath, renice, reset, resize, rm, rmdir, rmmod, route, sed, seq,
setconsole, setlogcons, setsid, sh, sha1sum, showkey, sleep, sort,
split, stat, strings, stty, sum, swapoff, swapon, switch_root, sync,
sysctl, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp, time,
top, touch, tr, traceroute, true, tty, tunctl, udpsvd, umount, uname,
uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vi, watch, wc, wget, which, who, whoami, xargs, yes, zcat
Changelog?
Thanks for the binary by the way
EDIT: This is weird... the binary you just posted is smaller compared to the previous one I had, 682Kb compared to 1.78Mb. Why such a big difference?
Nazgulled said:
Changelog?
Thanks for the binary by the way
EDIT: This is weird... the binary you just posted is smaller compared to the previous one I had, 682Kb compared to 1.78Mb. Why such a big difference?
Click to expand...
Click to collapse
Bug fix release. 1.15.3 has fixes for ash (compilation with signed chars, SIGHUP handling fix), awk, flash_eraseall (fix for newer kernel headers), grep, mount (mount -a won't mount everyting again on 2nd run), ping (fix unaligned access), split (accepts "-" as stdin now), build system (parallel build).
Hi,
I want to perform some basic root level tasks e.g. remove standard applications, move to SD card, changes some ROM config files (i.e. reset the file numbering for camera) etc. But I do not want to root the phone. I do not intend to use utilities like Gingerbreak, SuperOneClick etc.
I would prefer to use standard desktop tools like adb to access my phone and perform these tweaks. I do not want to install something on my phone specifically for gaining root access.
Is this possible? any guide available?
Regards,
Gkp
Using Optimus One with Android 2.3.4
NO!
why are u afraid to root the god damn obsolete phone?
Can u tell me wat are things can be done after rooting (except the above mentioned points)??
carrthee89 said:
Can u tell me wat are things can be done after rooting (except the above mentioned points)??
Click to expand...
Click to collapse
In short as posted above, it's not possible to do what you are wanting without rooting,
As long as you follow the instructions to root, you shouldn't have any problems
After Rooting, you can basically change anything, you can add ringtones directly to your ROM & remove them from the SD, you can backup applications using Titanium Backup, in regards to removing some stock apps, I found Titanium backup works wonderfully, as the title of the app states, basically it will make a backup on your SD card, (do not delete until you know your rom still runs correctly), Using Titanium, I was able to successfully remove unwanted google apps (youtube and some driving app).
Even if you did root, you can always unroot once the apps are removed. Although I don't see why you would want to unroot, having it rooted is better, but that's just my views.
you can gain world domination by rooting your phone, especially O1
There was an option for temporary root with z4root. I think gingerbreak has it too.
Sent from my LG-P500 using xda premium
Joel Chan said:
There was an option for temporary root with z4root. I think gingerbreak has it too.
Sent from my LG-P500 using xda premium
Click to expand...
Click to collapse
I think gingerbreak will not work on gingerbread it will only work on froyo so use superoneclick..after rooting you can see there's option for unroot via unroot you can unroot your cell..
Sent from my HTC One V using xda premium
rooting the O1 is like transforming it into a Samsung Galaxy (a lot faster !!!) even without a rom
How can I obtain root permissions without rooting my android device?
Sorry, I am a newbie in xda-developers (see my profile)
Is there any possible way on how to obtain root access even without rooting any device?
My phone is Sony Ericsson Xperia mini ST15i i can upgrade/downgrade it using FlashTool, then
I'm trying to mount, remount or unmount " /system " directory on my device so i can push files on it.
I'm performing " adb shell " on Android Debug Bridge v1.0.31 (command prompt)
Since, the codes from " busybox " are the only commands running in " adb shell "
Can someone give me some simple commands on " adb shell " how to push files to a directory
Because, codes from " busybox " are too many, I don't know which is the correct one
Code:
adb shell
$
Busybox commands:
Code:
$ busybox
busybox
BusyBox v1.18.4 (2011-04-04 18:40:20 CDT) multi-call binary.
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: busybox --list[-full]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
awk, base64, basename, beep, blkid, blockdev, bootchartd, brctl,
bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd,
deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff,
dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat,
fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk,
fsck, fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty,
grep, gunzip, gzip, halt, hd, hdparm, head, hexdump, hostid, hostname,
httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup,
inetd, init, insmod, install, ionice, iostat, ip, ipaddr, ipcalc,
ipcrm, ipcs, iplink, iproute, iprule, iptunnel, kbd_mode, kill,
killall, killall5, klogd, last, length, less, linux32, linux64,
linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread,
losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lspci, lsusb, lzcat, lzma,
lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg, microcom,
mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix, mkfs.vfat,
mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount,
mountpoint, mpstat, mt, mv, nameif, nbd-client, nc, netstat, nice,
nmeter, nohup, nslookup, ntpd, od, openvt, passwd, patch, pgrep, pidof,
ping, ping6, pipe_progress, pivot_root, pkill, pmap, popmaildir,
poweroff, powertop, printenv, printf, ps, pscan, pwd, raidautorun,
rdate, rdev, readahead, readlink, readprofile, realpath, reboot,
reformime, remove-shell, renice, reset, resize, rev, rm, rmdir, rmmod,
route, rpm, rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir,
rx, script, scriptreplay, sed, sendmail, seq, setarch, setconsole,
setfont, setkeycodes, setlogcons, setsid, setuidgid, sh, sha1sum,
sha256sum, sha512sum, showkey, slattach, sleep, smemcap, softlimit,
sort, split, start-stop-daemon, stat, strings, stty, su, sulogin, sum,
sv, svlogd, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac,
tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp, tftpd, time,
timeout, top, touch, tr, traceroute, traceroute6, true, tty, ttysize,
tunctl, udhcpc, udhcpd, udpsvd, umount, uname, unexpand, uniq,
unix2dos, unlzma, unlzop, unxz, unzip, uptime, usleep, uudecode,
uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog, wc, wget,
which, who, whoami, xargs, xz, xzcat, yes, zcat, zcip
" adb push " is not a command in " adb shell " just make sense,
I'm trying to push files to a mounted Read-Write " /system " directory running in " adb shell "
Code:
$ adb push
adb push
adb: permission denied
I did the commands below when I rooted my device ↓
Mounting " /system " directory or the " root folder " to Read-Write
Code:
$ mount -o rw,remount -t yaffs2 /dev/block/mtdblock0 /system
mount -o rw,remount -t yaffs2 /dev/block/mtdblock0 /system
Checking if " /system " directory was mounted to Read-Only or Read-Write
Code:
$ mount | grep /system
mount | grep /system
/dev/block/mtdblock0 /system yaffs2 rw,realtime 0 0
Now, as written on the top ↑ Can someone give me the command on how to push files in " adb shell "
I've been doing this and serching for it for 4 days straight :silly:
I have edited some works of DooMLoRD just to know how to remount " /system " then it works,
but I want to know more and the other commands to be used to; mount to read-write, push files without root,
without zergRush, without Busybox, without SU binary, without Superuser app or any ROOT access !
Thanks a lot in advance :angel: :victory:
gkp2007 said:
Hi,
I want to perform some basic root level tasks e.g. remove standard applications, move to SD card, changes some ROM config files (i.e. reset the file numbering for camera) etc. But I do not want to root the phone. I do not intend to use utilities like Gingerbreak, SuperOneClick etc.
I would prefer to use standard desktop tools like adb to access my phone and perform these tweaks. I do not want to install something on my phone specifically for gaining root access.
Is this possible? any guide available?
Regards,
Gkp
Using Optimus One with Android 2.3.4
Click to expand...
Click to collapse
Theoretically, no. But you can use SuperOneClick to root it, do that stuff, then unroot it with SuperOneClick.
What is toybox?
Toybox combines many common Linux command line utilities together into a single BSD-licensed executable. It's simple, small, fast, and reasonably standards-compliant.
Toybox's main goal is to make Android self-hosting by improving Android's command line utilities so it can build an installable Android Open Source Project image entirely from source under a stock Android system. After a talk at the 2013 Embedded Linux Conference explaining this plan (outline, video), Google merged toybox into AOSP and began shipping toybox in Android Mashmallow.
Toybox aims to provide one quarter of a theoretical "minimal native development environment", which is the simplest Linux system capable of rebuilding itself from source code and then building Linux From Scratch and the Android Open Source Project under the result. In theory, this should only require four packages:
1) Set of posix-ish command line utilities
2) Compiler
3) C library
4) Kernel.
This provides a reproducible and auditable base system, which with the addition of a few conveniences (vi, top, shell command line history...) can provide a usable interactive experience rather than just a headless build server.
Why is toybox?
The 2015 toybox talk starts with links to three previous talks on the history and motivation of the project: "Why Toybox", "Why Public Domain", and "Why did I do Aboriginal Linux (which led me here)?". If you're really bored, there's even a half-finished a history page.
The toybox maintainer's earlier minimal self-hosting system project, Aboriginal Linux, got its minimal native development environment down to seven packages in its 1.0 release (busybox, uClibc, gcc, binutils, make, bash, and linux) and built Linux From Scratch under the result. That project was the reason toybox's maintainer became busybox maintainer, having done so much work to extend busybox to replace all the gnu tools in a Linux From Scratch build that the previous maintainer handed over the project (to spend more time on buildroot).
Despite the maintainer's history with busybox, toybox is a fresh from-scratch implementation under an android-compatible license. Busybox predates Android, but has never shipped with Android due to the license. As long as we're starting over anyway, we can do a better job.
These days, toybox is replacing busybox in Aboriginal Linux one command at a time, and each toybox release is regression tested by building Aboriginal Linux with it, then building Linux From Scratch under the result with the new toybox commands. The list of commands remaining is tracked in the roadmap, and the replacing busybox in Aboriginal Linux is one of the main goals for toybox' 1.0 release.
Building LFS requres fewer commands than building AOSP, which has a lot more build prerequisites. In theory some of those can be built from source as external packages (we're clearly not including our own java implementation), but some early prerequisites may need to be added to bootstrap AOSP far enough to build them (such as a read-only version of "git": how does repo download the AOSP source otherwise?)
Source: http://www.landley.net/toybox/about.html
Downloads:
http://www.landley.net/toybox/bin/
GitHub:
https://github.com/landley/toybox
In case
Busybox vs toybox, who's the best?
Armv7 build?
Inviato dal mio Nexus 4 con Tapatalk 2
Waiting armv7 build. Thanks
Very interesting project!!:good: I've been doing as much of my development that I can on Android, but this will be a way to keep it all localized! This is exactly what we need:victory:. Great development!!:good::highfive:
What's the time frame for a Armv7 build? (no rush, just anxious with anticipation)
Can anyone suggest me which one to download for moto x play
hello i have toybox on my marshmallow(low end device) , i want to how to make swapfile on the SD card(VRAM),(RAM runout fast) all apps for VRAM use busybox so they wont work
so ive tried ot use terminal shell with "swapon" but i guess i missing something, i searched all over the net didnt found to much on toybox
what command\string i need?
sorry if i am on the wrong thread and sorry for my bad English
PS
i can adjust my ZRAM but its zram its swapfile on the RAM also its limited to 0-200MB and i need more
thanks
I obtain this toybox from my Xperia m, cm 13 rom, from this path /sbin/toybox and this is for armv7 arch.
https://mega.nz/#!toURVICL!M7048C6RhYlhuZcoxXzvF5Zm7ALvZIql93asmysJas0
Any updates for this?
Sent from my ? LG G4 H811 ???
Deleted
ToyBox:
https://forum.xda-developers.com/android/software-hacking/tool-official-toybox-android-t3290884
BusyBox + ToyBox:
https://forum.xda-developers.com/an...zip-busybox-v1-26-2-flashable-binary-t3581875
download modif, BB 1.28.3, TB Armv7 build:
https://drive.google.com/file/d/1jM4CMB3sF_wRvUaLv5n8hVkLA65glbZj/view?usp=drivesdk
use Terminal Emulator:
typing: busybox (enter)
typing: toybox (enter)
@Paget96
toybox does not require a separate dev developed binary for android devices like busybox does?
like meefik, stericson, osm0sis ones....!
Edit:- answer is here https://github.com/landley/toybox/issues/122
HemanthJabalpuri said:
@Paget96
toybox does not require a separate dev developed binary for android devices like busybox does?
like meefik, stericson, osm0sis ones....!
Click to expand...
Click to collapse
Nope
Sent from my WAS-LX1 using Tapatalk
usage is sometimes different between toybox and busybox. since twrp has started replacing busybox with toybox some scripts won't work properly anymore. this mean sometimes it is necessary to port flashable zip (for example when awk is used). for those who want to test shell scripts on pc i share my little wrapper shell script for quick testing applets syntax
Code:
acpi arch ascii base64 basename blkid blockdev bunzip2 bzcat cal cat
catv chattr chgrp chmod chown chroot chrt chvt cksum clear cmp comm
count cp cpio crc32 cut date devmem df dirname dmesg dnsdomainname
dos2unix du echo egrep eject env expand factor fallocate false fgrep
file find flock fmt free freeramdisk fsfreeze fstype fsync ftpget
ftpput getconf grep groups gunzip halt head help hexedit hostname
hwclock i2cdetect i2cdump i2cget i2cset iconv id ifconfig inotifyd
insmod install ionice iorenice iotop kill killall killall5 link ln
logger login logname losetup ls lsattr lsmod lspci lsusb makedevs
mcookie md5sum microcom mix mkdir mkfifo mknod mkpasswd mkswap mktemp
modinfo mount mountpoint mv nbd-client nc netcat netstat nice nl nohup
nproc nsenter od oneit partprobe passwd paste patch pgrep pidof ping
ping6 pivot_root pkill pmap poweroff printenv printf prlimit ps pwd
pwdx readahead readlink realpath reboot renice reset rev rfkill rm
rmdir rmmod sed seq setfattr setsid sha1sum shred sleep sntp sort
split stat strings su swapoff swapon switch_root sync sysctl tac tail
tar taskset tee test time timeout top touch true truncate tty tunctl
ulimit umount uname uniq unix2dos unlink unshare uptime usleep uudecode
uuencode uuidgen vconfig vmstat w watch wc which who whoami xargs
xxd yes zcat
Do you plan to add dd and gzip?
Painfully they are missing.
posix [dd] Partially implemented
lsb <gzip> Not started yet
http://www.landley.net/toybox/status.html
Very usefult. It helps me.
Thank you very much
I have two Xiaomi phones with A11.
Both have /sytem/bin/toybox installed
Is it common that toybox is pre-installed by default?
OK so there maybe a easier way to get the packages after you install tsu but I went ahead and just shot for the command line so here are the steps.
1. pkg install tsu
2. pkg upgrade && update
3. pkg install aapt abduco abook abuild ack-grep alpine angband apache2 apk-tools apksigner apr-util apr apt argp aria2 asciinema atomicparsley attr autoconf automake autossh axel babl bash-completion bash bat bc binutils bison bmon boost brogue brotli bs1770gain busybox bvi byobu c-ares c-toxcore ca-certificates caddy calcurse cava cboard ccache ccrypt cgdb cmake cmark cmatrix cmus colordiff command-not-found coreutils corkscrew cowsay cpio cppi cscope ctags curseofwar cvs daemonize darkhttpd dash datamash dcraw ddrescue debianutils debootstrap dialog diffutils direvent dnsutils dos2unix doxygen dpkg dropbear dvtm dx ecj ecj4.6 ed elinks emacs erlang espeak exa expect fakeroot fd fdupes ffmpeg fftw figlet file finch findutils fish flex fontconfig fortune fossil freetype fribidi frobtads frotz fsmon fwknop fzf gawk gbt gcal gdb gdbm gdk-pixbuf gegl getconf getmail gettext ghostscript gifsicle git-crypt git glib global glulxe gmic gnuchess gnugo gnuit gnupg gnuplot gnushogi golang googletest gperf gpgme gpsbabel graphicsmagick graphviz greed grep gsl gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly gstreamer gtypist gzip harfbuzz hashdeep hexcurse hexedit heyu hfsutils htop httping hub hugo hunspell-en-us hunspell-ru hunspell hydra icecast iconv imagemagick imgflo indent inetutils inotify-tools ipcalc iperf3 ipfs ired irssi isync jhead joe jq json-c json-glib jsoncpp jupp kakoune kbfs keybase kona krb5 ldc ldns ledger leptonica less leveldb lftp libandroid-glob libandroid-shmem libandroid-support libarchive libassuan libbsd libbz2 libc++ libcaca libcairo libcln libconfig libconfuse libcroco libcrypt libcue libcurl libdb libedit libelf libev libevent libexif libexpat libffi libflac libgc libgcrypt libgd libgit2 libgmime libgmp libgnutls libgpg-error libgraphite libgrpc libgsasl libhdf5 libical libicu libid3tag libidn libidn2 libisl libjansson libjasper libjpeg-turbo libksba libllvm liblua liblz4 liblzma liblzo libmad libmesode libmnl libmosquitto libmp3lame libmp3splt libmpc libmpdclient libmpfr libmsgpack libnettle libnghttp2 libnl libnpth libogg liboggz libopus libopusenc libotr libpcap libpipeline libpixman libpng libpopt libprotobuf libpulseaudio libqrencode librsvg librsync libsasl libsndfile libsodium libsoup libsoxr libsqlite libssh libssh2 libtalloc libtermkey libtiff libtool libunibilium libunistring libunwind libutil libuuid libuv libvorbis libvpx libvterm libwebp libwebsockets libx264 libx265 libxapian libxml2 libxslt libyaml libzmq libzopfli lighttpd linux-man-pages littlecms lldb ltrace luarocks lynx lzip lzop m4 macchanger make man mariadb mathomatic mbedtls mc mdp megatools memcached mg micro mime-support minicom mlocate moon-buggy moria mosh mp3splt mpc mpd mpv msmtp mtools multitail mutt nano ncdc ncdu ncmpcpp ncurses ndk-multilib ndk-stl ndk-sysroot ne neofetch neovim net-tools netpbm newsboat nginx ninja nmap nnn nodejs-lts nodejs notmuch nyancat nzbget oathtool ocrad openal-soft openjpeg openssh openssl optipng opus-tools opusfile p7zip pango par2 parallel parted pass-otp pass pastebinit patch patchelf pathpicker pcre pcre2 perl pforth php pick picolisp pinentry pkg-config play-audio pngquant poppler postgresql potrace privoxy procps profanity proot psmisc pure-ftpd pv pwgen python python2 qalc qpdf radare2 ragel ranger rclone rcs readline redir redis remind resolv-conf rgbds rhash ripgrep rlwrap root-repo rsync rtmpdump ruby rust screen screenfetch scrypt sed sensible-utils serf sharutils silversearcher-ag sl socat sox squid sshpass stag stfl stow strace stunnel subversion syncthing tar tasksh taskwarrior tcl tcsh teckit termux-am termux-api termux-apt-repo termux-auth termux-create-package termux-elf-cleaner termux-exec termux-tools teseq tesseract texinfo texlive-bin texlive-tlmgr texlive tig timewarrior tintin++ tinyproxy tinyscheme tmate tmux toilet tor torsocks toxic tracepath transmission tree tsocks tsu tty-clock tty-solitaire ttyd ttyrec units unrar unzip utf8cpp utf8proc utfdecode util-linux valac valgrind vcsh vifm vim-python vim vorbis-tools vttest vtutils w3m wcalc weechat wget wireguard-tools wol x11-repo xmlsec xmlstarlet xorriso xvidcore yarn yasm zbar zile zip zsh zstd
If you read when I first posted I may of had errors. I don't now all pkg fixed.
AnthoneyAR said:
OK so there maybe a easier way to get the packages after you install tsu but I went ahead and just shot for the command line so here are the steps.
1. pkg install tsu
2. pkg upgrade && update
pkg install
$
Cut
Tsu
B
Jgjn
I love you
If you read when I first posted I may of had errors. I don't now all pkg fixed.
Click to expand...
Click to collapse
pkg install binutils
$
Jadesteele1991 said:
pkg install binutils
$
Click to expand...
Click to collapse
Of course my bro and I were messing around and found out about that but thank you for posting this way in the this thread.
AnthoneyAR said:
OK so there maybe a easier way to get the packages after you install tsu but I went ahead and just shot for the command line so here are the steps.
1. pkg install tsu
2. pkg upgrade && update
3. pkg install aapt abduco abook abuild ack-grep alpine angband apache2 apk-tools apksigner apr-util apr apt argp aria2 asciinema atomicparsley attr autoconf automake autossh axel babl bash-completion bash bat bc binutils bison bmon boost brogue brotli bs1770gain busybox bvi byobu c-ares c-toxcore ca-certificates caddy calcurse cava cboard ccache ccrypt cgdb cmake cmark cmatrix cmus colordiff command-not-found coreutils corkscrew cowsay cpio cppi cscope ctags curseofwar cvs daemonize darkhttpd dash datamash dcraw ddrescue debianutils debootstrap dialog diffutils direvent dnsutils dos2unix doxygen dpkg dropbear dvtm dx ecj ecj4.6 ed elinks emacs erlang espeak exa expect fakeroot fd fdupes ffmpeg fftw figlet file finch findutils fish flex fontconfig fortune fossil freetype fribidi frobtads frotz fsmon fwknop fzf gawk gbt gcal gdb gdbm gdk-pixbuf gegl getconf getmail gettext ghostscript gifsicle git-crypt git glib global glulxe gmic gnuchess gnugo gnuit gnupg gnuplot gnushogi golang googletest gperf gpgme gpsbabel graphicsmagick graphviz greed grep gsl gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly gstreamer gtypist gzip harfbuzz hashdeep hexcurse hexedit heyu hfsutils htop httping hub hugo hunspell-en-us hunspell-ru hunspell hydra icecast iconv imagemagick imgflo indent inetutils inotify-tools ipcalc iperf3 ipfs ired irssi isync jhead joe jq json-c json-glib jsoncpp jupp kakoune kbfs keybase kona krb5 ldc ldns ledger leptonica less leveldb lftp libandroid-glob libandroid-shmem libandroid-support libarchive libassuan libbsd libbz2 libc++ libcaca libcairo libcln libconfig libconfuse libcroco libcrypt libcue libcurl libdb libedit libelf libev libevent libexif libexpat libffi libflac libgc libgcrypt libgd libgit2 libgmime libgmp libgnutls libgpg-error libgraphite libgrpc libgsasl libhdf5 libical libicu libid3tag libidn libidn2 libisl libjansson libjasper libjpeg-turbo libksba libllvm liblua liblz4 liblzma liblzo libmad libmesode libmnl libmosquitto libmp3lame libmp3splt libmpc libmpdclient libmpfr libmsgpack libnettle libnghttp2 libnl libnpth libogg liboggz libopus libopusenc libotr libpcap libpipeline libpixman libpng libpopt libprotobuf libpulseaudio libqrencode librsvg librsync libsasl libsndfile libsodium libsoup libsoxr libsqlite libssh libssh2 libtalloc libtermkey libtiff libtool libunibilium libunistring libunwind libutil libuuid libuv libvorbis libvpx libvterm libwebp libwebsockets libx264 libx265 libxapian libxml2 libxslt libyaml libzmq libzopfli lighttpd linux-man-pages littlecms lldb ltrace luarocks lynx lzip lzop m4 macchanger make man mariadb mathomatic mbedtls mc mdp megatools memcached mg micro mime-support minicom mlocate moon-buggy moria mosh mp3splt mpc mpd mpv msmtp mtools multitail mutt nano ncdc ncdu ncmpcpp ncurses ndk-multilib ndk-stl ndk-sysroot ne neofetch neovim net-tools netpbm newsboat nginx ninja nmap nnn nodejs-lts nodejs notmuch nyancat nzbget oathtool ocrad openal-soft openjpeg openssh openssl optipng opus-tools opusfile p7zip pango par2 parallel parted pass-otp pass pastebinit patch patchelf pathpicker pcre pcre2 perl pforth php pick picolisp pinentry pkg-config play-audio pngquant poppler postgresql potrace privoxy procps profanity proot psmisc pure-ftpd pv pwgen python python2 qalc qpdf radare2 ragel ranger rclone rcs readline redir redis remind resolv-conf rgbds rhash ripgrep rlwrap root-repo rsync rtmpdump ruby rust screen screenfetch scrypt sed sensible-utils serf sharutils silversearcher-ag sl socat sox squid sshpass stag stfl stow strace stunnel subversion syncthing tar tasksh taskwarrior tcl tcsh teckit termux-am termux-api termux-apt-repo termux-auth termux-create-package termux-elf-cleaner termux-exec termux-tools teseq tesseract texinfo texlive-bin texlive-tlmgr texlive tig timewarrior tintin++ tinyproxy tinyscheme tmate tmux toilet tor torsocks toxic tracepath transmission tree tsocks tsu tty-clock tty-solitaire ttyd ttyrec units unrar unzip utf8cpp utf8proc utfdecode util-linux valac valgrind vcsh vifm vim-python vim vorbis-tools vttest vtutils w3m wcalc weechat wget wireguard-tools wol x11-repo xmlsec xmlstarlet xorriso xvidcore yarn yasm zbar zile zip zsh zstd
If you read when I first posted I may of had errors. I don't now all pkg fixed.
Click to expand...
Click to collapse
I my case none of this works...
by typing anything including "pkg", this is what I get:
/system/bin/sh: pkg: not found
Is there something missing? not installed?
UPDATE: Changed the Topic as we are getting away from the original question in post 1 to the actual problem: figuring out how to fully root an Onyx Boox Poke3 e-reader running Android 10. "Fully" meaning including full r/w access to /system and /vendor - which isn't straight forward at the moment with "only" magisk-patching the stock boot.img
----------------------
Hi all,
possibly (probably) a "2^32 FAQ" but I can't g**gle it - everything search more or less leads to "how to patch boot img with magisk and flash it (in fastboot or twrp)".
So: Is there a tool (either on android or linux) to apply zips just like in twrp to a "boot.img" or "system.img" file, one after the other?
Why? I have a device for which there's no twrp (yet.... might look into that some day).
I have magisk-rooted it by patching the stock boot.img and then flashing that via fastboot. Rooted yes, Magisk yes, but still a "user-build" / "dm-verity" protected system, so tweaks modifying anything on /system or /vendor permanently aren't successful.
I guess there's a dozen solutions, but I just can't g**gle any (my g**gle foo isn't good enough...)
Anyone?
Disable dm-verity with adb.
You can modify build.prop and change ro.secure to 0 to get adb root.
Then disable dm-verity after that
I don't get to disable dm-verity, even with adb root (which I installed as a magisk module). Its a "user" build. Or - despite hours of reading and trying - I didn't find the right way to do it (or didn't understand). Or would it be as simple as using Android Image Kitchen to unpack (the patched boot.img), tweak build.prop, repack, re-flash? Now that I think of it...!?
But there's another odd thing here. Magisk App says I don't have a ramdisk. As I don't have the stock "recovery image" (and because I didn't really pay attention to this but followed in the steps of someone with a similar device) I patched the stock boot.img - where really I should have patched recovery.img. However, device behaves fine with the patched boot.img. If I then dd the /recovery partition, I do find ".magisk" stuff in the "ramdisk" folder. Also, in the initial magisk patching log when patching the boot.img, it says:
Code:
....
- Checking ramdisk status
- Stock boot image detected
- Patching ramdisk
Add entry [init] (0750)
Create directory [overlay.d] (0750)
Create directory [overlay.d/sbin] (0750)
Add entry [overlay.d/sbin/magisk32.xz] (0644)
Add entry [overlay.d/sbin/magisk64.xz] (0644)
Patch with flag KEEPVERITY=[true] KEEPFORCEENCRYPT=[true]
Create directory [.backup] (0000)
Add entry [.backup/.magisk] (0000)
....
SO, even though the device seems to have no ramdisk in stock boot.img (?) magisk patched it, and the device still runs from it....
Also, could I force magisk to set keepverity=false? In the app, there's no related tickbox available.
Will make all this into a proper howto in the end... a mess at the moment
If phone's bootloader is unlocked then you can disable AVB by means of Fastboot:
Code:
adb devices
adb reboot fastboot
fastboot reboot fastboot 2>nul
fastboot --disable-verification --disable-verity flash vbmeta vbmeta.img
fastboot reboot
@jwoegerbauer and @Kenora_I thanks for your responses.
Not sure if I'm on the right track here. I did a "dd" (from within the magisk rooted system via adb, dumping /dev/block/mmcblk0p46) to get the current (stock) vbmeta partition as a vbmeta.img to see what's in there "in stock state". avbtool.py says it doesn't look like vbmeta stuff, and I think it is right after looking at it with a hex editor: it's all zeroes. So, the information to protect /system and /vendor apparently does not come from vbmeta.
I had a look at the stock fimware update zip, unpacked it with superR's kitchen. In /vendor I have build.prop, but that does NOT contain "secure" at all. There is also a file default.prop, but can't see anything related to dm-verity in there, either.
Code:
#
# ADDITIONAL VENDOR DEFAULT PROPERTIES
#
ro.vndk.version=29
ro.adb.secure=1
ro.oem_unlock_supported=1
ro.zygote=zygote64_32
ro.logd.size.stats=64K
log.tag.stats_log=I
ro.logdumpd.enabled=0
ro.bionic.arch=arm64
ro.bionic.cpu_variant=generic
ro.bionic.2nd_arch=arm
ro.bionic.2nd_cpu_variant=cortex-a73
persist.sys.dalvik.vm.lib.2=libart.so
dalvik.vm.isa.arm64.variant=generic
dalvik.vm.isa.arm64.features=default
dalvik.vm.isa.arm.variant=cortex-a73
dalvik.vm.isa.arm.features=default
And then there is /vendor/etc/fstab - but it doesn't even list anything that would mount /vendor, only some sub-dirs mounted below that. It only contains "ro" for "/" - should I simply replace that with "rw", re-pack that stock vendor.img and flash it maybe!? With all that AVB/dm-verity stuff around it seems to simple - or not!?
Spoiler: /vendor/etc/fstab
Code:
# Non-A/B fstab.qcom variant
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,noatime,lazytime wait,check,forceencrypt=footer,crashcheck,quota,reservedsize=128M
/devices/soc/c084000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait
/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
#/dev/block/bootdevice/by-name/onyxconfig /onyxconfig ext4 defaults defaults
Edit: device tree might be the keyword:
On pre-Oreo releases fstab was in ramdisk. With Treble it was moved to /vendor (or /system/vendor) while the fstab entries for system and vendor (and odm) are moved to Device Tree Blob (dtb). Kernel exports dtb fstab entries in device tree directory at /proc/device-tree/firmware/android
Click to expand...
Click to collapse
From: https://android.stackexchange.com/q...ty-on-android-with-user-build-type-rom/215907
Edit2:
/proc/device-tree/firmware/android/fstab/vendor/fsmgr_flags lists "wait,verify"
/proc/device-tree/firmware/android/fstab/vendor/mnt_flags lists "ro,barrier=1,discard"
SO... seems I have to patch the dtb. Tomorrow maybe...
ro.adb.secure=1
This should be 0 if you want adb root command to function properly.
It shouldnt say adbd cannot run in production builds anymore.
PokeRekoP said:
@jwoegerbauer and @Kenora_I thanks for your responses.
Not sure if I'm on the right track here. I did a "dd" (from within the magisk rooted system via adb, dumping /dev/block/mmcblk0p46) to get the current (stock) vbmeta partition as a vbmeta.img to see what's in there "in stock state". avbtool.py says it doesn't look like vbmeta stuff, and I think it is right after looking at it with a hex editor: it's all zeroes. So, the information to protect /system and /vendor apparently does not come from vbmeta.
I had a look at the stock fimware update zip, unpacked it with superR's kitchen. In /vendor I have build.prop, but that does NOT contain "secure" at all. There is also a file default.prop, but can't see anything related to dm-verity in there, either.
Code:
#
# ADDITIONAL VENDOR DEFAULT PROPERTIES
#
ro.vndk.version=29
ro.adb.secure=1
ro.oem_unlock_supported=1
ro.zygote=zygote64_32
ro.logd.size.stats=64K
log.tag.stats_log=I
ro.logdumpd.enabled=0
ro.bionic.arch=arm64
ro.bionic.cpu_variant=generic
ro.bionic.2nd_arch=arm
ro.bionic.2nd_cpu_variant=cortex-a73
persist.sys.dalvik.vm.lib.2=libart.so
dalvik.vm.isa.arm64.variant=generic
dalvik.vm.isa.arm64.features=default
dalvik.vm.isa.arm.variant=cortex-a73
dalvik.vm.isa.arm.features=default
And then there is /vendor/etc/fstab - but it doesn't even list anything that would mount /vendor, only some sub-dirs mounted below that. It only contains "ro" for "/" - should I simply replace that with "rw", re-pack that stock vendor.img and flash it maybe!? With all that AVB/dm-verity stuff around it seems to simple - or not!?
Spoiler: /vendor/etc/fstab
Code:
# Non-A/B fstab.qcom variant
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,noatime,lazytime wait,check,forceencrypt=footer,crashcheck,quota,reservedsize=128M
/devices/soc/c084000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait
/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
#/dev/block/bootdevice/by-name/onyxconfig /onyxconfig ext4 defaults defaults
Edit: device tree might be the keyword:
From: https://android.stackexchange.com/q...ty-on-android-with-user-build-type-rom/215907
Edit2:
/proc/device-tree/firmware/android/fstab/vendor/fsmgr_flags lists "wait,verify"
/proc/device-tree/firmware/android/fstab/vendor/mnt_flags lists "ro,barrier=1,discard"
SO... seems I have to patch the dtb. Tomorrow maybe...
Click to expand...
Click to collapse
Replacing it with rw, yes would make it read-writeable
According to the changed thread's tite:
Rooting Android means nothing else then adding a matching SU-binary ( AKA root ) to it.
Since Android 6 every Android release comes with ( non-root ) Toybox. What you have to do is to replace this restricted version by a full ( root ) version like Toybox v0.8.5. You can achieve this by temporarily rooting Android, for example by means of copying rooted Busybox to /tmp.
jwoegerbauer said:
According to the changed thread's tite:
Rooting Android means nothing else then adding a matching SU-binary ( AKA root ) to it.
Since Android 6 every Android release comes with ( non-root ) Toybox. What you have to do is to replace this restricted version by a full ( root ) version like Toybox v0.8.5. You can achieve this by temporarily rooting Android, for example by means of copying rooted Busybox to /tmp.
Click to expand...
Click to collapse
Well ive been stumped trying to root my tv which is android 7.1.1 and ive tried the exploits everything.
Idk how easy it is too do that.
I can push files to /data/tmp though.
AFAIK both /tmp and /data/local/tmp are always present in any Android release. But I may err as always ...
Well i dont see an error but yeah android 7 is harder. Especially with the tv, /rootfa is ro and for some reason its mounted.
I guess i look through it but it dosent help me much.
I only kinda need a root shell and thats it
Its funny cause the chip seems to be hisilicon or smth.
Anyways what you said is right. He can just install the rooted version of busybox in tmp
For instructional purposes only: here a script ( what is part of an UPDATE.ZIP ) I wrote to upgrade Toybox to it's full - means containg SU - version with help of Busybox
Code:
#!/system/bin/sh
#
# Title: TOYBOX-UPDATER.SH
# Author: (c) 2021 [email protected]
# Version: 0.1
# License: BSD 2-Clause
#
busybox="/tmp/busybox" ;
tbpath="$($busybox getprop "toybox.location")";
if [ -z "$tbpath" ]; then
exit 1
fi;
tbdir="/$tbpath/bin";
if [ "$tbpath" == "system" ]; then
tbbin="toybox";
else
tbbin="toybox_vendor";
fi;
$busybox echo -e "Uninstalling actual TOYBOX";
for f in $($busybox find "$tbdir" -type l) ; do
$busybox rm "$f" ;
done
$busybox rm "$tbdir/$tbbin" ;
$busybox echo -e "Installing TOYBOX v0.8.5" ;
$busybox mv /tmp/toybox $tbdir/$tbbin ;
$busybox chmod +x $tbdir/$tbbin ;
$busybox chown root:shell $tbdir/$tbbin ;
$busybox echo -e "Adding symlink for each Toybox command to the $PATH" ;
tbcmds=(
acpi, arch, ascii, base64, basename, blkid, blockdev, bunzip2, bzcat, cal, cat,
catv, chattr, chgrp, chmod, chown, chroot, chrt, chvt, cksum, clear, cmp, comm,
count, cp, cpio, crc32, cut, date, devmem, df, dirname, dmesg, dnsdomainname,
dos2unix, du, echo, egrep, eject, env, expand, factor, fallocate, false, fgrep,
file, find, flock, fmt, free, freeramdisk, fsfreeze, fstype, fsync, ftpget,
ftpput, getconf, grep, groups, gunzip, halt, head, help, hexedit, hostname,
hwclock, i2cdetect, i2cdump, i2cget, i2cset, iconv, id, ifconfig, inotifyd,
insmod, install, ionice, iorenice, iotop, kill, killall, killall5, link, ln,
logger, login, logname, losetup, ls, lsattr, lsmod, lspci, lsusb, makedevs,
mcookie, md5sum, microcom, mix, mkdir, mkfifo, mknod, mkpasswd, mkswap, mktemp,
modinfo, mount, mountpoint, mv, nbd-client, nc, netcat, netstat, nice, nl, nohup,
nproc, nsenter, od, oneit, partprobe, passwd, paste, patch, pgrep, pidof, ping,
ping6, pivot_root, pkill, pmap, poweroff, printenv, printf, prlimit, ps, pwd,
pwdx, readahead, readlink, realpath, reboot, renice, reset, rev, rfkill, rm,
rmdir, rmmod, sed, seq, setfattr, setsid, sha1sum, shred, sleep, sntp, sort,
split, stat, strings, su, swapoff, swapon, switch_root, sync, sysctl, tac, tail
tar, taskset, tee, test, time, timeout, top, touch, true, truncate, tty, tunctl,
ulimit, umount, uname, uniq, unix2dos, unlink, unshare, uptime, usleep, uudecode,
uuencode, uuidgen, vconfig, vmstat, w, watch, wc, which, who, whoami, xargs,
xxd, yes, zcat
) ;
fs=$IFS ;
IFS=,
for cmd in "${tbcmds[@]}"; do
$busybox ln -s $tbdir/$tbbin $tbdir/"$cmd" ;
$busybox chmod +x $tbdir/"$cmd" ;
done
IFS=$fs ;
exit 0
So would that executable in a terminal emulator such as termux?
If script's permissions get set to 0755 then yes.
Oh thanks!
yes i can chmod 0755 the script.
cause adb in termux rocks when you work on a tv
But the thing wont it come up with access denied or smth like that in the thing.
I guess the tv would have loopholes but still
As said, the script is run by an updater-script where all the necessary partition-mounting is done: knowing this it should be clear that you run into errors when executing the script as printed above unless you add the necessary mounting stuff to it.
jwoegerbauer said:
As said, the script is run by an updater-script where all the necessary partition-mounting is done: knowing this it should be clear that you run into errors when executing the script as printed above unless you add the necessary mounting stuff to it.
Click to expand...
Click to collapse
Oh kk
small update: meanwhile managed to patch the
/proc/device-tree/firmware/android/fstab/vendor/fsmgr_flags from "wait,verify" to "wait"
using magiskboot binary. But it's a way too complicated for the "ordinary" guy. So still searching for an easier way.
I don't know.
I think that while we have Magisk it's easier/better to leave /system alone.
You retain the ability to do system updates.
Originally I took boot.img out of a decrypted update.upx
I extracted the kernel symbols then patched the kernel to be insecure.
I wrote a small executable that setuid/setguid to 0.
The kernel had been knee-capped to not check capabilities, it worked.
I then dd'ed recovery and fed it to Magisk.
Being able to su over ADB is all I really need; I don't like/need apps having root.
For me, being able to "pm disable com.onyx" is the bulk of what I need.
Later I discovered Qualcomm EDL mode which works just fine too.
Somebody asked me about p46 (vbmeta) and I see mine is 64K of zeroes.
@Renate : and here we meet again ;-) that somebody was me I guess