From 1e2f94ed51b881d31e2e2c67ced39ae75ef97fdc Mon Sep 17 00:00:00 2001 From: TheSithLordDarthImperivious Date: Fri, 10 Jan 2025 19:32:51 -0500 Subject: [PATCH] Working USB and auto-generate working recovery.img --- BoardConfig.mk | 7 +------ README.md | 31 ++++++++++++---------------- bootimg.mk | 10 +++------ mkbootimg | Bin 18928 -> 0 bytes recovery/root/init.recovery.qcom.rc | 6 ++++++ 5 files changed, 23 insertions(+), 31 deletions(-) delete mode 100644 mkbootimg diff --git a/BoardConfig.mk b/BoardConfig.mk index a060636..0620ed9 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -51,9 +51,6 @@ QCOM_BOARD_PLATFORMS += kalama # Kernel TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/kernel TARGET_PREBUILT_DTB := $(DEVICE_PATH)/prebuilt/dtb.img -#BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilt/dtbo -#BOARD_INCLUDE_DTB_IN_BOOTIMG := true -#BOARD_INCLUDE_RECOVERY_DTBO := true TARGET_KERNEL_ARCH := arm64 # Boot @@ -67,11 +64,9 @@ BOARD_BOOTCONFIG += androidboot.hardware=qcom BOARD_BOOTCONFIG += androidboot.memcg=1 BOARD_BOOTCONFIG += androidboot.usbcontroller=a600000.dwc3 BOARD_BOOTCONFIG += console=tty0 -BOARD_MKBOOTIMG_ARGS := --header_version $(BOARD_BOOT_HEADER_VERSION) --pagesize $(BOARD_KERNEL_PAGESIZE) -BOARD_MKBOOTIMG_ARGS += --dtb $(TARGET_PREBUILT_DTB) BOARD_RAMDISK_USE_LZ4 := true BOARD_USES_GENERIC_KERNEL_IMAGE := true - +BOARD_CUSTOM_BOOTIMG_MK := $(DEVICE_PATH)/bootimg.mk # Recovery BOARD_HAS_LARGE_FILESYSTEM := true diff --git a/README.md b/README.md index 19290aa..cb96fe1 100644 --- a/README.md +++ b/README.md @@ -13,14 +13,14 @@ This is an unofficial TWRP device tree for the Motorola Edge 40 Pro/Motorola Edg * do some research if you have any concerns about this unofficial TWRP port * before flashing it! YOU are choosing to make these modifications, and if * you point the finger at me for messing up your device, I will laugh at you. -* Note that I am also sacrificing my device just to make this TWRP port, -* so you will be putting your device at risk too. +* I am also sacrificing my device just to make this TWRP port, +* so you will be putting your device at risk by using certain features of this TWRP port. */ ``` # Note -This family of phones uses boot.img's kernel to boot the recovery (kind of like recovery-on-boot, except recovery is on a second ramdisk). As a result, an empty kernel image is provided as a workaround (the TWRP build system needs a kernel image). **Do not flash the recovery.img generated by the build system when building.** Otherwise, it will throw you +This family of phones uses boot.img's kernel to boot the recovery (kind of like recovery-on-boot, except recovery is on a second ramdisk). As a result, an empty kernel image is provided as a workaround (the TWRP build system needs a kernel image). A special command is included in `bootimg.mk`. Without it, the device will throw you `No valid operating system found` @@ -31,33 +31,28 @@ Attempting to boot using `fastboot boot` will not work; it must be flashed to re # Working Features - It can boot - Touchscreen -- File Manager (can browse /system) +- File Manager (can browse files and mounted partitions such as `/system`) - Can read (and possibly write) internal storage (you have to mount from terminal currently). Exception is `/data`, which is encrypted. - CPU Temperature -- Brightness +- Brightness (there is a default brightness that works in most environments set, but it of course can be adjusted through the slider) +- USB with adb (MTP appears in lsusb, so this should work as well) +- Super partition mapping (dm devices appear in /dev/block, and all match up with Android's numbering). # Non-working features -- USB (and in turn adb, mtp, this is top priority) -- Battery percentage (LineageOS recovery has the same issue) +- USB host mode (eg. Read USB drives) +- Battery percentage (LineageOS recovery has the same issue, so it is universal across all recoveries) - fastbootd (please do not try to boot into fastbootd, it may throw your device into a state where it can only boot into Android when "fastboot boot boot.img" is used, and it can only be exited when stock/LineageOS recovery.img is flashed). - `/data` partition with FBE (FBE just does not work) # Untested -- Flashing -- Sideload +- Flashing ZIPs/adb sideload (will test with LineageOS upgrade from 21 to 22 soon) +- Factory reset (I do not want to wipe my phone just to test TWRP) +- Backup/Restore super partition (backup of `/data` is guaranteed not going to work because again, encryption) - Anything else that you may use TWRP for normally # Instructions to Build -Same as all other TWRP (Android 12.1) device trees (when you git clone, the device tree is supposed to be located in device/motorola/rtwo, and no branch is required). However, ignore the existing `recovery.img` in the `/out/target/product/rtwo` directory and instead run this command from within the root directory of the build system: - -```bash -out/host/linux-x86/bin/mkbootimg --ramdisk out/target/product/rtwo/ramdisk-recovery.img --base 0x00000000 --pagesize 4096 --dtb device/motorola/rtwo/prebuilt/dtb.img --os_version 14 --os_patch_level 2024-12-01 --header_version 4 --output recovery.img -``` - -This will generate a `recovery.img` (stored in the root directory of the build system) which is bootable on these devices. - -This is to avoid the `No valid operating system found` error, which can occur if the `recovery.img` is not in the format generated from the command above. +Same as all other TWRP (Android 12.1) device trees (when you git clone, the device tree is supposed to be located in device/motorola/rtwo, and no branch is required). # Credits diff --git a/bootimg.mk b/bootimg.mk index 4024c9c..4f53a94 100644 --- a/bootimg.mk +++ b/bootimg.mk @@ -9,10 +9,6 @@ $(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(BOOTIM @echo "Made boot image: $@" $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(recovery_ramdisk) $(recovery_kernel) $(RECOVERYIMAGE_EXTRA_DEPS) - @echo "----- Making recovery image ------" - $(hide) $(MKBOOTIMG) $(INTERNAL_RECOVERYIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@ - @echo "----- Lying about SEAndroid state to Samsung bootloader ------" - $(hide) echo -n "SEANDROIDENFORCE" >> $@ - @echo "Made recovery image: $@" - $(hide) tar -C $(PRODUCT_OUT) -c recovery.img > $(FLASH_IMAGE_TARGET) - @echo "Made flashable $(FLASH_IMAGE_TARGET): $@" + @echo "----- Making bootable recovery image for rtwo ------" + $(MKBOOTIMG) --ramdisk $(PRODUCT_OUT)/ramdisk-recovery.img --base $(BOARD_KERNEL_BASE) --pagesize $(BOARD_KERNEL_PAGESIZE) --dtb $(TARGET_PREBUILT_DTB) --os_version 14 --os_patch_level 2024-12-01 --header_version $(BOARD_BOOT_HEADER_VERSION) --output $@ + @echo "DONE! You can now flash the image using fastboot flash." diff --git a/mkbootimg b/mkbootimg deleted file mode 100644 index 83c25736c42ca32f193618f95110675ba2ea9bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18928 zcmeHveSA|@n*U8(AiS6x1+^+W1`T6TS{r;T_?BC4?X3o>v}i}crnD)owoPqPs58z` zCN0yuA!Bu1Ke)QPI5IQ+sh|1biY_8kk`~*-h!#`^QK8~nLIn#bFEWt*KIh)kB&FH$ zv-|t)XaCrv_de%&KX1=D&%M22MV{l16oWzFB}KSRAnejh?2M${1)+W}Lv>n?U=-}a zrNSk`SWw2`vNH}rt;S(cH_f3@mrDgqqk4)?NU>`b9ZuCSfkWOxg5)n&?0Qv$TW{A; z4h6x&2&6}CjWyIs7;q;8O?o?mDZD`zMkkE)GVBZmbg~ME?RvvF5_%vB{pU&OjY;V1K)2u;S!k7v)?cEH zMz2popO=JQo`l|#guV#$^M#9r=3FOg+FD^1tow3W<~Ir+Z$o+gqe5wEwZ~mPdv>YE zQ(jhADKyq0A|4j%8@=UKWes4v8XD@{r8VyIGHhYE}cuQ-`sv+6n za)G?G)?KHQOND$#LGIkrSy?v?*JfqiKz&I``XBL9+?%~BaR-w&t=EaX%FNj zCyq{gA20Sedi*#madg_-cqxpd^SLBmNgSQ_Kwg}2^!PZeilg(rnRM#o=zOmxy5jrV zsQAbHe6~eUT7%v(;nN_7UxBOeb=Wf%-&SKc$?+1sVF^T|(<^WnFSnycconfD15uRe z_Y-a)yr1C<2&W|y2{Qan!f9zl)-ybpa9R?PwG5v_I4y-pJHuxYPD>!t%T$B zGyDp|Y04u`hF?lJO?9M@;TI52Qyj4~d;;M#wUKOwrw~q48nH0^`yAjjl@T+;j}lH( z7!eqLkZ_v1$k163rXL`jrYthR@V$i7R7Lt3zKd|0qDYY8+X<(siL3`M-6!2^3rY*6 z;y2y}ZDCQs9kqRwXZt+Qc1T(Ibq+e(ddLx2W>f;3t?MDt+hSbH{{#;UZL zQ#q!*1V)F3kj%@xDqGoDmlF3tR^Rm5Mn<1TINztJv8TWBdb)EcW%Qa>I% z-*?DR;Oj9;n`wo$9`Zg|;Qx_B?RBW96m{RR-+TA_&KSg&(^y|yK7jfgv=G3V=fB(N zJCp)dGlZ^azByBDodKcdpBda@>*cJLB8aUQq9$IBKC~X1r|xL{t*m}FPyO2AhkHM| z?k~2^R9md?!zfV2&<|v@hBz3qRYM9H^0tN)Go)WbtkBq_RqdgHi4$e3Jg@b05I+V{ zY_VdY&TBm+w%m(~;(yGVUf}DC+JX)>bo7tPiJf-_rWh38_oDc#GYBb1V6}Asdg?aC z@3p2o)OU}qBc&YW4e4%q!TbVwnxd{|%SJPx_9-X&6<^q(+=??n5LYe7Jfe>95`T3I z?zGB=VDSw*Ze%p)nDRRYiDSm-C@XtNH9YsP(WnyGz!sxJ{U-bZLIyjCqP``zT!hB^ zwRMV~ZDgios~K#uJzBYn+8cgY(<>moMVcP5pcmBjvYFoJtaTgMGAF(3xIfuy z6kAfD>3a-|5N_9M>U{uW>uM|?1#?x;jLguTuOrhia(EJ8Yp_7=5nBe~z_-~-EKI~F zz+j6BB5|gfVxhUxinn#-5?}=Cwvk?ibt42t^WK z5AjWpp~}$;=eWTdJ6_54C5wkG`{JSrA+&VMS460i6O?Dydhheb1#JU*kRbvHhc0n72hl#&(D{ZW5_<_aJB5ASopj6sThO;9t zVmLYl*g>1a{ijB4W6O9lYu1HcN+R?*CaiOsF0?9%(DXD2U84(?B@y}(bJ#gc6FO%c zXC_hFNlLj%lun!+y<-XnrL!oBQdbhCW8|qkiBcem(m#{ZBT1A>k|^a;^L~*;>B=NZ zSCgkzno{`eiP1amCZQ*iSl*UI>3M3-)4Jt#NrcKt=!GPf-AR-#B&7{Wl;$K+3Q`~5 z;z|x{6~!9GT-eAo#MUnmH4Z=Hyh{tInV4_lgjA6Z_<{zCLZVSrlA_r9ECv<3!&TW9 z1m*Tl;Rd!f^c~06QDd!&Y#@V(8)u|}37&WMT11@{s#?@FL0*fx@1PQCWl<|zoop}e zMaQH9zQeBc3eqC#uYh%s8#$p zUHN$%{`Ol8(91N6I8BV?B|@Q%EHH8qR2t=+$Rtdp|0(9SB{+QSjMjpuv=%(2ojp&n zvqx-gLcWSNM3yo4#W)oGx89Xy5jxYcOWT6lR2`(2?8PoglBd|b7Gui%w@xF;oH)rK zNv_uQ|!f|-x@?l(JFwdVBU>__h$I+BL$c@lKCezBaEgS z*@^CQ@4sY5#MVE7Hm~)#*g`uxZ0uppI8GMkYZi#YoAG#@1-owHXP~uwB(}6tV*<}< z`B-3`l~Tej6OkR`xSax1;_I*4;lmc(VxpAU*KG)&If}WT{aNGZTj-<>|1;3YZDhuO z-jg#EVl4x)7C8$~n5pGp(NTT~y8)lp$#4)!)l}~z)oC!Og=rzFc2mO>moyfDzN+gf z7UI&JbC-AI3am{9`Ed#SpST7qr7CWvJWcIhr8RCZm=5(|=UTRz*k3b*n}}Nl?j}m3 zY{!wuhBr{h(Vk{dup`Wjn6Xyk_)jJBmBk(NZhF_B*wsYv99VLh%dj)+YB3B!Hu13%C% zpn>RV2A5oUAc_WwEf+%=+<|Bml>I~*qfwd}Wd%`=p#`_nYaX#Bj4Hb5z1kwEU7dTb zrxoDa5e-kKE~dg_T*v0eHH`M%rpSw=jd)4d;)Uj!;w7C{d)W{RI!4pu<@xVo@v;C* zm!dTQ8ksPoF=NkwukAi$#!O}|)yz;f%!B5Bs6={jI>Zgis}SQufu>m_B8@Uu#y`SO z97B%KHER5gl0E-AR=<;1<#=4>NIf2+~UE zWUBIva^e&_KYF~QDmUNymkbMD(B&_LM$wz;b~sx(Xa-oIgifa_(Ldw8%%32l%--Xf ztVD4#j`<_d=#;leXzs6=_YK7h3)Jt5Y{$d5pu^ZIyPIa(j&Gu#;3Qsim}mv+)+V!Um+d$*;Z>ke-!DM@ z?@_k}dFI?bul!qwdLsP3CV|I4??;sGA63+zup30j>>+i(_xx}X3E(;L&xc5Ta7#EB z1U%|`$LFao9Jt}Zm+AJ0$}I8n7PJG$EIo$@?uPWV?TzEQwfw(GJ=Ph-sLyy$QTK-5 zfiY!vxA+f1@%7+|Jr8uZ<9${-9+x_>`8Wcyb&?Xm^Mev7wx(hGLblD`Rj~6FIG+Bn zsm?${T7$p10h>n}V&(f4D=bI~jJ{JVR$PolJIQx;#R`+!7dl`H4U8M#rS^{>!fUbg zZq`0L&`}+Y(;BV&e+B-@D_lFQli(`R%*8XGfL9_&Xf!0+-a;CE7XFz`s! zcXs0PaiIfgaMq_g)9jD*x3EZ2&%9~Dd9mf+$R}Rs4T|FBsB~keyIEPcgsBaahAHX=CPrnM6 zV4LZfy4@henSw5l1^LRPh>E2^)As=lpFeBI)SkIkQd zZU)x%zxsdU#1ZFEkCWLBJa;RBSBWz0@+r`KKg%#I`<4GU>@@UiPu(Qnq{$O`SiSrWRyfbmQzh=b=JsAV4ozR;xwc%F= zX=B}5&%40pizXbWX@MG!Y7L?!emxW&>Jc`?`@=Jkkd@q@pc!ivwLb@W3Y$+hBM$*f zn9rXuHlNSCGjUAiM%ZPyayf-$VMolI*pC_<%s3E1q7;QfNcC+eZ zvpKT={<|_-w|Tp?`BN|{YxPz50@)lfiI0QECh^JGBzEZX9!)-B5=%jglqXCg&7brJ z)}4SUlr|NjQiS)kltdmA-T7t(n@$^QZj0gzS}H~N0IofiqVugvvFZ!JPr#g?jmlOq z-UIv?gynW{-v=Rr>on?zaeWWwUR+(E?F4)W*KS<0O}v$+5sGv-N$f|4(wF@ z74U7~p8@^__`86RuR00{o9=#GU!(pdXz=CS2Yd(+eyWb3PWmC#&j7MkgLV*g_-FDx zsDFhz+QNKN@6J@pq8q)UM!5$;KqJZdH+Xg9?!$Ey0!|RCpy@mT_?OB&#&LcF1g4y5 zCTT%K7R%nnt-6;)c9LauzxqU_BsL7C)BR|=CL=Z+Hv=CWBH|G<#0R&NIC@e|7Ru0q zLFy8Qqx!31HriMXugnRFG<;`-++k+f$fU#>HP$uIqbb=AX(p5|i!&V7Hd4gq4cKth zj2rxlgFCQ$uZD0K!stX9%ny?CpMj%ua3wYzgO`RQxDD^e?h*#zS@xC(u^x=eE7qnPq=T*cQ1?Nt69{qvQ*vVu?+XZF|-C{DlKMyVa5@ zww*ges*ygIse9DJdFtN58`*iH9+hm{^K4yr1U6jo{NRUmXtN=-EhSIwLTXj0ZkJU& zd;fysNgc{lkEpw4b$h65OlomUn{3zxnaRtp@twTt7q9zH-Yls{SKKCz-!7@grD^Zv zP3y`Vf0XQgy!o=n2Y=7@bJ&$^N2O`p&W_M`G_DCIqThlXqmuL9Y zaL}+X&#*^U(K&T~v3g&Lx_ptW<~#AmkV1TT>y4fFz2lrXe0%c?4OiwZ?aeP%U)u3a zZ+^+yk2kI9&0n;vc$T?0-#PT@u5P6_pCtj^vBqHh*+KBvBE>%+XV)>zgStxz%$$rD z^@bz9f!meYgNi!e=>2glzvwoIuX~~a#h|S5ow7@9-ZZoKe8|rpY&<~i)6O+|S6qmf znYL|e-{5C4m++?q+-5ku4-QYO{f>b31N01sW0!#(s-Tzm`A**6Ba7x{?{x97#AI5x|a}l5#wG;+{+nvs?Pm8;yM}kN5s97 zaWQyIcN*HNh8gz?eG#?LwBuObA2#BxL8Kg61m%^$PvS{6^0OEoCj2)sd=KF-#qd7D zyJPr9!as`P9fTj!a9W?`Jw=pEAn|-3v2c@Z8)ZjIZ<>`w8va7bLJfbhWU(e&wP2I2 zTD0N)A`3S>G#Up}mGXBH8Qu(fn<9&^&y5BiHTa@-xlNvArgi&O_-c5!MF(-R(enmT z_OSPq<^pw!Rq+=Z3sj`($Ur1mG*cSoPzUre!t)gJW$8_p4L+5#XLIC0L4^IaAAU=9But&z*;{jZsx65is#t|0^PY891q0o7f-)7q>`MOgi zbuUhQ$zNc}o3U3igmLcrtJ6Z;#})WOM%fU;@hXLaCdt;X9t|B#CD3Z9CHDc?RQl+V(kSQ=_EcS%Hakf4+5{jhS`V9S&D&(9SZzZ4(Q8-Dya})NP>H_oJ;U5PZ@n3 z@oI=y=S2-zrC5VJ7@BP|HZfvosz~1nbP(KHDXp zpI-oChYKPW7X7NK<$JXaYdznp2t7y06X%!yI!5x!x9`@nh zaY1?st|v`e1KeXW!9v}MBu6`+{(t6A7GyO4efiVBvUl_UmHa83ke?*apZXKzlIKqw z6XcTTPiqt8lIKrt33AEvr+Qs3dH(buB>t!6PyV?TTK+`Y)m1FJvg+B@bjrP|8286S zLc)jHVTsoag2?u+Zkv0Je{K!wUdse#>H?Xu%q)v#9XwCjA8y9m{K&*u9#v2Hl`-5& z_{}lAkno}yZYTWV7@keIFNRwP{|Df)$A|W$`56W7it!Y^pjDqF^Z3_291N?&}(`O5xj-Ze8t}8C4OCr zKL>cqmb&IxY9C(Wc6+O9mrk%~B{TD3S3{kv#&Sz#b&ad8tk!iKXFXua%xoyDt*G`q z9LKdRj^}$^>P!fv>P#mRri*wY6nv z5n;C_wsncStN~5c0PE=pewhab$|@=vTprH|-Fl3kr~0Sh^V$f33UAUbXaij8uB`O9 zAhm?tXvhc~`e6S6Np0AFfS|W*spkiXVG4eLl-pB^3G?8icFQeNR&Lf@i;j-y2juF@ z@HKpCjcXaLte>D{&YPDh%a)2V@5pJX!uRp6hL~mUqOP%aiK}6R>8dhMmG{wl%!8+@ z%$8B%sw``)@y>V**sL3F93fm?5u4yl_hXrv?nW;@(~p~|2?G1DevYNF&eK?5?{4tA zDl9a^7B<<_E9j4@tPIONT<2b1XQ6gj%4(Ln@#%h5t>voeo~txbU9Qe;(Vg+IvUuuU z<<*tdF3o04PLIFpTIM!E2%dF0T}WTuY^i(kF1V(wVX2Eb*5%6a^MVRXo!e`vahFwC zbhTLXxV;f_Jj`Q)qubNg9e#g+5z=HwmqRq@rbg%U*tf9Qk9i&L?}+x%K9bHxSWp6CyA~kdei$FO zSWIe2T;PF_7+XZpe)rL9kq5f&oqgo|BR^U9%iEv);K8Xct$A_W9>W8^3p!hE*6yEATIgNe*>Lui zea(Lu`|-2hBhQ9H)z5yuD!=oao_`97Z$CfD>Yf?Ne6huQ=g0qN{i3~XrtMj47=X{_U!qX_saFwRYyb$>-%16?-PQ z-kk8zvaD@gD_dtaJo$Wh%Wv0b?h^{TW>IZTfg=p^F^U` zml$hq`jKO~a@A{_*I)nYq^Yy-d~wg+^S3|uz%h4L)!|=0?sb>{u4zhBUyCuNclGzt z&i28Y!gVKJIMsQy>5-nLUygsM^^Z&6Y&ceT%bf4#|8B(s(><%J#ytDdhrY`%*)i~d z;j+}5H(&@a#MS;Tz5~YJMZez{jrP;9;u{k?7Q%YKX21bJ%I%$>Mx#N%e!u}h%YkS# z9eT~5MWgh~4*M5KWm555$4E5V4%iOZ0Vo`dM)v@&{W=;orh$*YLE8b>;!BQpz<$6E zKs&x?*+UQ+AN_4`2#~&=qWrZDkP2T{hMz7F3{7UkWs}Ak+YRH)M5ix+uRtHJCPBT7 zE-wgH@JT*rM>JZ9z6d7s9j5d<#fi&}&BE=M-hB0S)+@+FGW}b?BmIr=_dE&an#{jW z$u*@1Qe~56b(&<#ST#mAW&6fHHo=r3nJi#IB-dn=*w2YbcM-0P{n6;Pq<@de>`PhP zZDM~L&}=^jat`>*i4UtOl@m3pD=qpl!w#2H!z^$z)!Y zBAL>CsrQ&H6%$P9AV?--{zTc7eg~_Plt8lIQU!B<4~+{N{W$gO*Qt3XOCT-Rl(Cxn zwQ8(n%JGdWG_5zJ1SgnsBvUrJoEz8AJ6J!d4>IhSv1VS^?djtLd-3Bm&$QN1HG!Fl zAFez!u){D9e(nR5AS9nFbl1d`SI?#9p#_WJe=Gd1eLEU`NKEJtMpW<59mD-uU>Y)| z?oBnFH07I`#pQq!QS1hEaqc-?#8k>KX~o(fLjT5L?Z&MGWw?L&v<~u3Ck?5erJmD4 z=%CO#tAU-3h@tBkMZ3)eXaRiy^hzROK33B_uA+73OG{C-sl>u!15WZAAaD6H8vQ50 zIC+e>FD-Ry%CJHK#)sAkebCq*jz(WbJx-q4UtnrCr1(u1tP(63cp(`SS|?Kx(?-O2 zA;o5FouJ?PxMET0>m=V4Hl${a8Eu`AHNF3246vl`yBv9b;y$5EjrPQ{*L$36C2?2~C4K9*6j z@1$tBmSqdVHl5Bk1=Q1ZoX(&4f~jC7C^;GAV=|yOkj9G&zLa9+VjUKawX+(hTXdYS z*KA!5?;lv<{_$4BO@yH_c1FiIF`SPFzCL7lm(FKG{|z_(?+}c1wM?IvRXTiHhrie1 z>pJYw;cgv%sl($s96R35OkbqKAM5Z&9p0hCdv#c;!(}>LrNgIn_)@0tDZ?R>~%FfE3VYxnQc9u;LvOHDvyXvwfLKc2B?P{nOvhe)l%93&mD4`az zDCZTjDju!#JX)(kZ-bDvw5~Brf7DDsO2KPz)s&HfUaPP1lI?2Ty{;zQD}jLL#?x$> zkmaf>twd_?Dy^!3F2{tda<99=1BV)Ts2oh#EUT?9heJ2a;FiT~FY!Q*p6y(9-jNgZ zpTs9ZkJcPt??Q?l7>Z7qs$s)-zCJmDz7eCf&-JIK*nwe>(g_xZ#cn)~Ib|9uw2gCp zdx{;HfH-GBSf_#E_~&uO?OX*u^?~d2_@}&*idl!`gWAsZc^qB~8pS@>=ljV?-2vY} zAi~PX{@(;D#V*(9@!CZWQRp0@!rRN`IF!Moy@2CiR54=E8txz0P6n2z~mBn#y{8!#zq1B(88hPV%4<@1LJH>#$=`F==4KaDF0 z&!9s7`T58H{TklTk>fQ|f9(i;`ZS!1+0MZ5d}&y0{c!vbsKooHZ^)@w>}?eX^W^DD!yX|$7Z6g`}V?eTuS241}XjgphZ@$XbHFf6ZOG5>rVHh~eZ&+~_% zuD_8h>X7Sk*bO?>dHb7lolLSRmjO&eidNC@_5@52`hb)F>=AUXKWzk^WU0hM?pxz% P_h)qfJL8FQdYt_4(^2uG diff --git a/recovery/root/init.recovery.qcom.rc b/recovery/root/init.recovery.qcom.rc index 882dde6..9c31fc3 100644 --- a/recovery/root/init.recovery.qcom.rc +++ b/recovery/root/init.recovery.qcom.rc @@ -31,6 +31,7 @@ on init # to cut charging battery path write /sys/class/power_supply/battery/siop_level 0 setprop prepdecrypt.setpatch true + setprop sys.usb.configfs 1 on fs wait /dev/block/platform/soc/${ro.boot.bootdevice} @@ -41,6 +42,7 @@ on fs mount vfat /dev/block/bootdevice/by-name/apnhlos /vendor/firmware_mnt export ANDROID_ROOT /system_root + # Mount bootdevice on boot start health-hal-2-1 @@ -55,3 +57,7 @@ on property:crypto.ready=0 on property:twrp.user.0.decrypt=0 umount /vendor/firmware_mnt + +on property:ro.boot.usbcontroller=* + setprop sys.usb.controller ${ro.boot.usbcontroller} + write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral