yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] tres_linguas:
Thx 4 ur answer and by the way also for the nice script :svetius:

Yes, mido is getting old now :laugh: released in 2016

Don't know if v1 or v2 of the script is used, though :D

Anyways, after what you wrote above it is at least clear to me that it shouldn't be a general lineageos issue...

At first I placed an older version of the script into addon.d folder, which didn't really work for me - this was the point where the error message appeared after downloading an OTA. However I replaced it with the latest version of the script, which as I said works perfectly when flashing stuff manually. Yet, the error keeps on appearing (even after clearing data of the updater app).

The error message is simply a triangle with the information that says "installation failed"
[Android Software/Hacking General [Developers Only]] xchaoling:
thx for this :good:
[Android Software/Hacking General [Developers Only]] osm0sis:
When you say manual do you mean recovery? If so, TWRP or Lineage? What updater app? Does the app reboot to recovery to install the updates?
[Android Software/Hacking General [Developers Only]] tres_linguas:
Yes, I mean manual flash of the rom (from /data/lineageos updates) in recovery. Latest orangefox in my case.

No, the error message comes right after the download of the new los build. Just right after the information that update is ready to be installed / question if I want to reboot to recovery to flash it (the default los thing). If I confirm that window with yes this is the point when it says installation failed. In other words, no reboot to recovery (if reboot to recovery took place I guess it probably would work :fingers-crossed:)

Its the system-in-built thing in settings -> system -> updater
[Android Software/Hacking General [Developers Only]] osm0sis:
addon.d (v1) for sure then. Sounds like the issue is unrelated though? If you take my script out of addon.d does it start working again? The last step before rebooting to recovery is to copy the zip into empty "uncrypted" userdata, so is your /data partition really full or something? You should check the logcat when you press the button to confirm.
[Android Software/Hacking General [Developers Only]] FriendlyNeighborhoodShane:
Does the updater app download delta (partial) zips or the full ROM zip that you flash from recovery?

Because if it's a delta, then it may be just getting a patch error (or a merge conflict, in git terms) ?
[Android Software/Hacking General [Developers Only]] tres_linguas:
I took logcats now, see attachments.

Error message appears both with and without the script in addon.d. The logcats are taken in the 1st case.

/data partition is not full

Full Rom
[Android Software/Hacking General [Developers Only]] osm0sis:
So definitely not related to my scripts. Cool. ;)

The actual log would be useful, since as you can see most of each line is cut off in your screenshots. Either way, you should probably take this to the Lineage thread for your device. :good:
[Android Software/Hacking General [Developers Only]] ManDone.vRs:
Hello . I have a 9T pro with MIUI 11 and Android 10 ( 11.0.5.0 ) and when I install from downloads / magisk , BusyBox module , then my phone goes into to boot loop ... I tested install it from PlayStore and same issues ... I went back to Android 9 , same steps I did with Android 10 and no problem on Android 9 .... So how to fix this issues I have ? Thanks .
[Android Software/Hacking General [Developers Only]] DiamondJohn:
Logs.

last_kmsg sounds like your best avenue for a bootloop.
[Android Software/Hacking General [Developers Only]] osm0sis:
Uhh, I don't have a busybox on the Play Store.

If you're using Magisk, install my busybox from the module repo page in Manager, and save and send me the install log.
[Android Software/Hacking General [Developers Only]] ManDone.vRs:
I will try those days but I'm afraid ... Then I have to flash again whole rom :(
[Android Software/Hacking General [Developers Only]] osm0sis:
[MENTION=8056188]amg314[/MENTION]

If he has TWRP, then removing a module is trivial.

Also please don't promote other busybox packages in my thread. Remove your attachment.. :rolleyes:

Edit: Looks like mods cleaned up. :good:
[Android Software/Hacking General [Developers Only]] m0han:
you could edit your post to remove the reference to the other BusyBox (in his post that you quoted).
[Android Software/Hacking General [Developers Only]] osm0sis:
For reference, the Magisk busybox is now basically just topjohnwu's version of my busybox, which he built with clang and so may have some things broken that mine doesn't.

The `install` command, for example, is currently broken in Magisk's busybox, and waiting on topjohnwu to look into it further. (It'll segfault after the first file supplied.)
[Android Software/Hacking General [Developers Only]] Keule-Tm:
Thanks for clarifying (though, I've got no idea when I would use that specific command;).
[Android Software/Hacking General [Developers Only]] w1nst0n_fr:
but but... this thread is just incredibly useful ! :good:

Thanks a lot @osm0sis to keep maintaining this list since 2013 !! That's huge !
[Android Software/Hacking General [Developers Only]] osm0sis:
You might not but Magisk does. ;)

Luckily it just uses it with a single file so nothing is technically broken in the Magisk scripts, just shows the segfault.

Thanks for your support! Not only maintained but continually expanding with my new ideas for fixes, scripts and packages! :cowboy::D

Anyone who's found my stuff useful over the years, please consider sponsoring me through my GitHub Sponsor page. GitHub is going to match the first year of funding! :highfive:

https://github.com/sponsors/osm0sis
[Android Software/Hacking General [Developers Only]] TotallyAnxious:
I'm gonna be the one to inform people the link also tells us you're a hospital worker.

I work at an animal hospital and holy **** people are misinformed about C19, I can't imagine how things must be for someone who probably does technical work of some kind (just guessing) with the overload healthcare is getting!

Enjoy the poutine money I just sent you. (Do Canadians eat anything else?)
[Android Software/Hacking General [Developers Only]] osm0sis:
Thank you so very much for the awesome donation! I'll be sure to spend some on poutine. :p

I'm actually a mental health nurse on an adult acute in-patient unit, so all this tech stuff is pure hobby. :silly: Everybody stay safe out there! :)
[Android Software/Hacking General [Developers Only]] osm0sis:
Awesome news for custom ROM users! If your custom kernel is up-to-date with the AnyKernel3 git HEAD, it automatically has support for my new FlashAfterUpdate addon.d-v2 script, so you can easily keep a custom kernel installed through an A/B ROM OTA! :victory::highfive:

My development work on my many projects comes out of my free time, so if you enjoy this project or anything else I've done on xda, please consider sponsoring my ongoing work using my GitHub Sponsors profile. For a one-time donation you can hit the donate link from my profile. Thank you for your support!

Setup is simple!

1) Download my latest 999-flashafterupdate.sh from the attachments of the scripts post in my Odds & Ends thread (read the blurb there/follow the links for more info).

2) Put the script at /system/addon.d/999-flashafterupdate.sh and give it rwxr-xr-x (755) permissions.

3) Create the /sdcard/FlashAfterUpdate directory and put the latest kernel zip there.

When you get an A/B OTA update the custom kernel zip should now be automatically flashed again at the end, over the boot partition of the updated slot, as part of the update process. Magisk root is required, and the latest Canary build is recommended.

You can also keep TWRP installed on A/B devices where recovery is inside the boot.img (boot-as-recovery)! See my 98-twrp_ab.sh addon.d-v2 script at the above link. With all of these in place, then TWRP, Magisk, and AK3 (via FlashAfterUpdate) all get retained through an OTA! :cowboy:

The script gets logged in logcat during booted OTAs, just like my TWRP A/B addon.d-v2 and Magisk addon.d-v2 scripts, so keep an eye there if you're curious, AND the next TWRP will also have support for addon.d-v2 thanks to the amazing work of [MENTION=7104332]k4y0z[/MENTION], so keep an eye out for that.

P.S. If there are any other mod zips out there that would benefit from FlashAfterUpdate addon-d.v2 support (i.e. they wouldn't be better handled by their own addon.d-v2 script), then contact the mod developer and point them to this post so they can follow my instructions for adding support.

Lastly, also feel free to pester any and all kernel devs who aren't up-to-date with their AK3 zips yet, and please link them to this post, so that we can make things easier for everyone on custom ROMs and custom kernels. :D
[Android Software/Hacking General [Developers Only]] Joel Devasia:
I had installed the adb-ndk magisk module earlier. The adb commands are working when the device is booted. But in the recovery moder i.e sideload , the device is not being detected. Plss help me [MENTION=4544860]osm0sis[/MENTION]
[Android Software/Hacking General [Developers Only]] osm0sis:
Not much I can do for you. Mileage has always varied with that. Search the thread for some things to try that I've explained for others over the years.

[MENTION=5377398]TotallyAnxious[/MENTION], https://twitter.com/osm0sis_xda/status/1246200401382248449 :highfive::D
[Android Software/Hacking General [Developers Only]] osm0sis:
[MENTION=5377398]TotallyAnxious[/MENTION], https://twitter.com/osm0sis_xda/status/1246200401382248449 :highfive::D
[Android Software/Hacking General [Developers Only]] TotallyAnxious:
Haha I'm dying ? thank you
[Android Software/Hacking General [Developers Only]] GCalzo:
Thanks WikiPedia... now I understood what is a poutine! :D
[Android Software/Hacking General [Developers Only]] DiamondJohn:
Is there a thread here on XDA specifically for [MENTION=4544860]osm0sis[/MENTION] 's busybox Magisk module? I did a couple of searches (XDA & standard web search), and could not find one?
[Android Software/Hacking General [Developers Only]] osm0sis:
You're typing in it. ;)
[Android Software/Hacking General [Developers Only]] osm0sis:
It comes from me being able to enable nanoseconds once I updated to the NDK unified headers, which is a busybox config option. So it's more just that the busybox date help doesn't account for it.

CONFIG_FEATURE_DATE_NANO=y

Added here:

https://github.com/Magisk-Modules-Repo/busybox-ndk/commit/21cf13d2caf829bb7550ecef88b49b0249329c86

https://github.com/osm0sis/android-busybox-ndk/commit/03364b46c0fd47deb4d368adc078bab8c793d69a

https://xdaforums.com/showthread.php?p=78095707#post78095707

https://xdaforums.com/showthread.php?p=78286685#post78286685
[Android Software/Hacking General [Developers Only]] DiamondJohn:
Replace Toybox methods with Busybox methods?

So now, my next question:)

Using the "date" assembly as an example. I can't think of any, but If I were to create a Magisk module where selected busybox methods (such as date) replaced a ROMs internal "date" implementation, are there any negative side effects that anyone can think of, that I should watch out for?
[Android Software/Hacking General [Developers Only]] osm0sis:
Yep. That's the reason my busybox installer will never replace anything existing when installed to /system/bin, there were reports of WiFi and other ROM features breaking.
[Android Software/Hacking General [Developers Only]] nickman529:
Hey, I'm having trouble making updater-binary automatically choose the slot to flash to in TWRP. How can I do this.
[Android Software/Hacking General [Developers Only]] noddledizzy:
Can somebody please help me. I get (No info provided) after I install busybox in Magisk 20.4

My device is LG V30 US998 running stock oreo US99820h rom.
[Android Software/Hacking General [Developers Only]] osm0sis:
If you're talking about a shell script update-binary then you could look to the slot script from my AK3 project for pointers: https://github.com/osm0sis/AnyKernel3/blob/master/tools/ak3-core.sh#L678-L705

Where's your install log? Obviously can't help you without that.
[Android Software/Hacking General [Developers Only]] noddledizzy:
sorry, here's the log
[Android Software/Hacking General [Developers Only]] osm0sis:
As expected you've got an old magisk.img kicking around somewhere. Remove it from /cache /data or /data/adb and things should work fine afterward.

If you use the latest Canary then Magisk should clean itself up, since I added a commit for that a few weeks back: https://github.com/topjohnwu/Magisk/commit/aa72a080b03ccda4fa6de30e5eca385a3d86d257
[Android Software/Hacking General [Developers Only]] edzamber:
Hi guys

Does anyone know how to mount system in sh script on Android Q ? I tried but not working... Its like system can't be mounted in Android 10

Here screen from terminal and my script View attachment 4993497
[Android Software/Hacking General [Developers Only]] AndDiSa:
Well, most likely on your Android Q based OS system is mounted as root file system, e.g. you are no longer able to re-mount /system as rw on a running system.
[Android Software/Hacking General [Developers Only]] edzamber:
Ok... So how can i do to execute rm -rf function as system is r/o ?
[Android Software/Hacking General [Developers Only]] AndDiSa:
You can't ...you have to modify the system partition / system file system in e.g. TWRP recovery (... but as there is no working TWRP available for Q yet ... ). You could probably prepare outside of the device and flash the modified system onto your device, but then you will break secure boot ...
[Android Software/Hacking General [Developers Only]] edzamber:
Oh ok understand...

Its init.d script so maybe i can re-write it to working with post-fs-data.d or service.d on magisk but i don't know how to use or how to write it...

Maybe someone can help me to do it.

It check if an app exist in data/app and if yes it remove it from system/app or system/priv-app.

Here my original script

https://mega.nz/file/v4NghSxR#OHvgpN5d6dE_lA_LHMondT6GQgthhJUIR7G7vRE5cwg
[Android Software/Hacking General [Developers Only]] nickman529:
So I've tried every which way to get the output of getprop ro.boot.slot_suffix = _a to be an if then statement.

Basically. I wanna check if the boot slot is a. If it is, flash to a, if it's not, flash to b.
[Android Software/Hacking General [Developers Only]] osm0sis:
Stop using EDIFY maybe. Yuck.

On Android 10 while booted there is no /system mountpoint because it's SAR (system-as-root), so the system partition is actually mounted at /. If your device isn't launched with Android 10 (and therefore not using ext4-dedup/logical partitions which are ro by design), it may still be possible to remount rw, but it'll have to be done using the / mountpoint, not /system.
[Android Software/Hacking General [Developers Only]] nickman529:
It's all I know at the moment. Could you help me get set up another way
[Android Software/Hacking General [Developers Only]] jcmm11:
Before I even think of getting deeper into this I have to ask why you want to do this? You do realize that any app you do this with will no longer be considered a system app. Also there's no real space saving involved since /data and /system are separate entities and freeing up space in system will not add space to data.

In other words, from a practical standpoint, you don't really gain anything nowadays from doing this. Now even with system being ro you can functionally remove things from system so they won't be visible - but they won't actually be deleted. So the only thing you really accomplish is cause these apps to no longer be considered system apps.

As far as init.d scripts go generally speaking you should be able to just drop them into service.d and they should work. You don't want to use post-fs-data.d unless it's absolutely necessary to run something very early in the boot process.
[Android Software/Hacking General [Developers Only]] osm0sis:
Complete Shell Replacement for update-binary link is in the OP, follow it and have a read and use the functions which should help you transition to using shell. Then you can use my AK3 shell script snippet to properly get the slot for your installer.
[Android Software/Hacking General [Developers Only]] nickman529:
I have that setup now. Already was playing with it. I have the ak3 script in at the end of the replacement in binary. However I'm not sure how to use the slot variable properly.
[Android Software/Hacking General [Developers Only]] osm0sis:
Look at how I use it as $slot in the rest of the ak3-core.sh. I can't help you too much further with these basics, so you might want to look up some shell tutorials, but once you get the hang of it it'll simplify your work a lot. :good:
[Android Software/Hacking General [Developers Only]] guest4711:
But you may remove the apps systemless by magisk mounting an empty directory into /system/apps/chrome (e.g.)
[Android Software/Hacking General [Developers Only]] edzamber:
How can i do this ?
[Android Software/Hacking General [Developers Only]] DiamondJohn:
That is a Magisk question.

See the doco at https://topjohnwu.github.io/Magisk/guides.html

and the thread https://xdaforums.com/apps/magisk/announcement-telegram-magisk-module-t3846678
[Android Software/Hacking General [Developers Only]] DiamondJohn:
[MENTION=4544860]osm0sis[/MENTION] just an FYI. I have added a method to an app I build and distribute here on XDA called TeMeFI that builds on the fly the ability to replace single methods from your busybox Magisk module; by creating another Magisk Module. Hopefully thus getting the best of both worlds:highfive:. ie replace selected "crippled" toybox methods within a ROM, while not bringing in the issue you had with some people loosing WiFi.:fingers-crossed:
[Android Software/Hacking General [Developers Only]] osm0sis:
Alright, well, good luck with that! WiFi was just one example, people had a few issues.. :fingers-crossed:
[Android Software/Hacking General [Developers Only]] DiamondJohn:
at this stage, the only example / reason / method that appears to need to be promoted is the "date" method, to get milliseconds. So, hopefully, its not that one specifically that causes any issues. As they have to manually select each method, it will probably give them pause about promoting too many methods. Its more of a need-to basis.

As for "good luck with that", its the users who explicitly choose what to promote, so, its good luck to them....:D They can also revert it easily through the UI, if they do have issues. Its their device, and I am not their mother. I know for me personally, I would want the choice / ability left to me.

And, all care taken, no responsibility/;)
[Android Software/Hacking General [Developers Only]] Deadhead11:
Hello sir I just rooted my asus zenfone max pro m1 and the busybox doesn't support it.is there anything I can do bcoz I need it for magisk cbt profile fix
[Android Software/Hacking General [Developers Only]] m0han:
did you try installing the magisk module 'Busybox for Android NDK' from within magisk manager?
[Android Software/Hacking General [Developers Only]] osm0sis:
You have provided nothing useful with which to help you. What does "doesn't support it" mean? How did you flash it? Show me an install log. :rolleyes:
[Android Software/Hacking General [Developers Only]] Mpsb1994:
Please help adb works fine through otg and detect device redmi note 7 from asus max pro m1 device but fastboot always show waiting for device.

Im using adb and fastboot ndk magisk module

Please help
[Android Software/Hacking General [Developers Only]] jcmm11:
You know that for fastboot the one device has to be booted to the bootloader. Right?
[Android Software/Hacking General [Developers Only]] DiamondJohn:
And,not all devices support fastboot.
[Android Software/Hacking General [Developers Only]] greeneyez15o:
Having the same issue , it was working b4 but just stopped. Have u tried any other Versions ?

Edit. I just flashed it again through twrp. Working again !!! ???
[Android Software/Hacking General [Developers Only]] Mpsb1994:
Regarding fastboot device not showing up

Please help adb works fine through otg and detect device redmi note 7 from asus max pro m1 device but fastboot always show waiting for device.

Im using adb and fastboot ndk magisk module

Please help

---------- Post added at 06:42 AM ---------- Previous post was at 06:30 AM ----------

Yes sir from adb i do adb reboot bootloader and it works and then fastboot devices

---------- Post added at 06:47 AM ---------- Previous post was at 06:42 AM ----------

Which version u flashed and u also faced fastboot device waiting for device
[Android Software/Hacking General [Developers Only]] greeneyez15o:
I flashed the updateADBinstaller1.0.39zip , and yes fastboot is working fine.
[Android Software/Hacking General [Developers Only]] TotallyAnxious:
When you eat poutine, do you grab the short fries or long fries first? What even is sexuality? Here's some meth, be gay with me.

Edit: ****ing Carol Baskin hacked my profile.
[Android Software/Hacking General [Developers Only]] JazzMartian:
[MENTION=4544860]osm0sis[/MENTION]

Hi. How do I set custom BusyBox install locations such as system/xbin, system/bin, or any other directory that it can be installed to. Also under what circumstances might I be better off to install it to a path other than default?

Edit: Another thing, if I install Stericson BusyBox to system/xbin, what would be the best directory to install your BusyBox to, for a dual BB install system. I'm using SuperSu.

Thanks.
[Android Software/Hacking General [Developers Only]] osm0sis:
Mine isn't an app, it installs to the best location for your device (xbin if you have it, then bin but filtering its applets to not overwrite any system ones), and nobody should use/need more than one busybox.
[Android Software/Hacking General [Developers Only]] JazzMartian:
Yeah I know it's a flashable zip. Thanks for the info.
[Android Software/Hacking General [Developers Only]] osm0sis:
Heard y'all wanted SELinux Busybox builds. ;)

Turns out older NDK before r16 can't build a working busybox with SELinux support due to the older Bionic libc missing some important features, meaning unfortunately MIPS+MIPS64 can't be supported. Next, I did manage to build for armeabi-v7a with r17c standalone gcc toolchains (config on my android-busybox-ndk repo) but all other architectures had weird linking errors that didn't seem possible to resolve.

So, since [MENTION=4470081]topjohnwu[/MENTION] already did all the groundwork for modern NDK clang busybox building and recently started using my patchset again with his brilliant ndk-box-kitchen I have adopted it for my SELinux builds and will work on it directly in the future to maintain the patches/configs there for myself and Magisk's internal busybox. :highfive:

I work on these projects in my limited time off, so if you like the progress I'm making, or enjoy anything else I've done on xda, please consider sponsoring my ongoing work using my GitHub Sponsors profile. For a one-time donation you can hit the donate link from my profile. Thanks for your support!

UPDATE-Busybox.Installer.v1.31.1-ALL-signed.zip:

- add SELinux builds for architectures supporting ndk-build SELinux

- all but mips* can have SELinux builds, installed by default

- one may opt out of the SELinux builds and use regular busybox for their architecture with "noselinux" special keyword in zip filename or /data/.busybox-ndk

See the related commits here:

https://github.com/osm0sis/android-busybox-ndk

https://github.com/Magisk-Modules-Repo/busybox-ndk

:cool: