How to back up bootlooping Google Pixel (via fastboot or recovery)? - Google Pixel Questions & Answers

My phone is bootlooping as of this morning. Tried sideloading an OTA and that didn't fix it either. I have some data on it that wasn't backed up, is there any way i can mount the phone /data partition on my mac, either via fastboot or in the recovery menu with ADB to copy over the files? I havent been able to get a computer to recognize it via adb unless its for a sideload. Any help would be greatly appreciated.

Do you have an unlocked bootloader? If so, try installing a factory image (delete the -w from the batch file of course). Hopefully, the computer recognizes the phone if you boot manually to bootloader and plug in without using an adb command.

sliding_billy said:
Do you have an unlocked bootloader? If so, try installing a factory image (delete the -w from the batch file of course). Hopefully, the computer recognizes the phone if you boot manually to bootloader and plug in without using an adb command.
Click to expand...
Click to collapse
Unfortunately no, i have the Verizon pixel. The sideloading of the OTA didn't fix it. I can get a new phone no issue, i'm just hoping there is some way i can dump the contents of the phone via recovery, fastboot, or adb to get the remaining data that wasn't backed up

Related

Recover data from my phone that is stuck in boot loop

Hi,'
I think I disabled google app on my nexus 5 (stock android) and since then my phone is stuck in boot loop. (My phone does not go past logo of marshmallow rolls or message saying starting apps 10 of 10). I have very important data that is not yet backed up and I need them to be recovered.
From various threads, I did following in recovery mode
1. Wipe cache option under recovery menu - as it was mentioned, that it would not delete any user data on my sdcard. (No help, still stuck with boot loop)
2. In recovery mode - there was an option to mount phone memory and I did that. My phone shows a message at the bottom of the screen that it is successfully mounted. But I am not familiar how to proceed further or to recover data from my phone.
My phone is running stock android and I think I have not disabled USB debugging. I am not familiar about ADB, but can follow your guidelines and execute them. When I connect my phone to windows laptop, I see my laptop trying to install the MTP device driver, but fails saying unable to find the driver.
I need to recover my data and Any help is greatly appreciated.
Is your bootloader unlocked? I'm guessing not.
Sent from my Nexus 5X using XDA Free mobile app
If the bootloader is unlocked, you could flash twrp and then mount the data partition from twrp. If the bootloader is not unlocked, you could try pulling the data from the phone using adb commands. Was debugging enabled in the rom?
I have not unlocked my boot loader. Is there a guide to use adb with stock android?
Only if you enabled debugging in developer options.
Today, I installed 15sec ADB installer and booted my device in to recovery mode by pressing power and volume keys.
Then under recovery menu there was an option called - Mount / System. I selected it by pressing power key and from ADB ran adb devices.
No devices was listed, when I ran ADB devices.
But I saw another option in my phone recovery screen - Apply update from ADB.
I got a message in phone - "Now send the pacakge you want to apply to the device with adb sideload filename".
Now, when I execute ADB devices in my PC cmd prompt, I see my device with its serial number.
then I tried to use ADB Pull /sdcard/ to recover files from PC command prompt. But I got a message - saying error closed.
Am I doing the right things? Can you guys guide me to recover files from this point.
My bootloader version is HHZ20h. Product - Hammerhead.
I noticed from below link a user has had luck with sideloading a launcher. Has anyone here tried it ? will it affect my data on phone?
https://code.google.com/p/android/issues/detail?id=64773#c22
Any guide to sideload google search app in recovery mode?
Have you considered side loading the OTA from Google? https://developers.google.com/android/nexus/ota Directions are on the site.
When you get to this point
(But I saw another option in my phone recovery screen - Apply update from ADB.
I got a message in phone - "Now send the package you want to apply to the device with adb sideload filename".), you send the ota zip. (Adb sideload <name of zip> ). You have to make sure the zip file is in the folder with adb files.
Sent from my Nexus 9 using Tapatalk
I tried to install OTA update and did the reboot. But it did not help.
Can anyone provide me a launcher that I can sideload in recovery mode? Reading from various threads, I think my phone is in this state because I disabled the google app, which is also the launcher.
Thank you
Try to flash system image without userdata wipe and wiping only cache
Sent from my fx-82MS CAF using Tapatalk
santi1993 said:
Try to flash system image without userdata wipe and wiping only cache
Sent from my fx-82MS CAF using Tapatalk
Click to expand...
Click to collapse
How to perform this flash without wiping my user data? Any guide for it?
Download the stock image from Google that matches the rom currently installed on the phone, extract system.img, boot phone into fastboot mode, and type fastboot flash system system.img at the command prompt, and reboot.
audit13 said:
Download the stock image from Google that matches the rom currently installed on the phone, extract system.img, boot phone into fastboot mode, and type fastboot flash system system.img at the command prompt, and reboot.
Click to expand...
Click to collapse
Let me try it. so far I have been able to execute only adb sideload commands, after choosing Apply update from ADB.
Let me try this - fastboot flash system system.img.
smartey said:
Let me try it. so far I have been able to execute only adb sideload commands, after choosing Apply update from ADB.
Let me try this - fastboot flash system system.img.
Click to expand...
Click to collapse
Boot ur phone in fastboot mode (From power off to vol down + power), then connect it to the pc and install latest_google_drivers for nexus devices, ull need to manually install them, after that ur fastboot will recognize ur device.
From that type fastboot devices, if u see ur device connected u simply need to get into the commands that the other user gave to you, i u are lucky ur device will boot.
if u had unlocked bootloader the thing was easy as installing twrp 3.0.2.0 and backup all ur data via MTP

Help! Deleted EVERYTHING on ZTE N817

Okay, so when trying to flash CM ROM, I stupidly ended up wiping EVERYTHING in the "wipe" option. Trying to recover it, I tried sideloading the file through ADB, but TWRP would disconnect off the PC and say failed (TWRP version 3.0.2-0). Pushing a ROM zip won't work, as the phone only connects to the PC as ADB Sideload mode ('error: closed' is what it would say), and nothing else would work except sideload. I no longer have a working OTG cable, as my last one broke on me a week ago. The PC will not connect to phone on the 'Mount USB' option from TWRP. Plz help! I'm running out of ideas. I did make a backup (using Online Nandroid Backup, no it wasn't a zip) on the SD card, but TWRP will not read the SD card on my device. Note that the only thing I have is TWRP; no bootloader, no Fastboot, no nothing. Just TWRP.
TRiP_E said:
Okay, so when trying to flash CM ROM, I stupidly ended up wiping EVERYTHING in the "wipe" option. Trying to recover it, I tried sideloading the file through ADB, but TWRP would disconnect off the PC and say failed (TWRP version 3.0.2-0). Pushing a ROM zip won't work, as the phone only connects to the PC as ADB Sideload mode ('error: closed' is what it would say), and nothing else would work except sideload. I no longer have a working OTG cable, as my last one broke on me a week ago. The PC will not connect to phone on the 'Mount USB' option from TWRP. Plz help! I'm running out of ideas. I did make a backup (using Online Nandroid Backup, no it wasn't a zip) on the SD card, but TWRP will not read the SD card on my device. Note that the only thing I have is TWRP; no bootloader, no Fastboot, no nothing. Just TWRP.
Click to expand...
Click to collapse
You can connect to ADB but the adb push command isn't working when you try to move the ROM.zip to the device?
Get a new OTG cable.
The nandroid backup you made should have been done in TWRP and stored on extsdcard instead of the online backup, online backup is crap because it only works in certain conditions, it's useless when the device can't connect to a network.
Sent from my SM-S903VL using Tapatalk
Yes. ADB commands other than sideload will say 'error:closed', and ADB Sideload will just end up making the phone disconnect. At this point, I may HAVE to end up getting a new OTG Cable.
Yes, I was trying to do the backup on TWRP, but as it couldn't read the SD Card, I used Online Nandroid Backup. Then I realized that everything I was doing was completely stupid while I wiped EVERYTHING....
TRiP_E said:
Yes. ADB commands other than sideload will say 'error:closed', and ADB Sideload will just end up making the phone disconnect. At this point, I may HAVE to end up getting a new OTG Cable.
Yes, I was trying to do the backup on TWRP, but as it couldn't read the SD Card, I used Online Nandroid Backup. Then I realized that everything I was doing was completely stupid while I wiped EVERYTHING....
Click to expand...
Click to collapse
Yeah, new cable seems to be your only option.
Sent from my SM-S903VL using Tapatalk
Alright then, I'm going to go see where I can buy one. Thanks for the confrirmation.
I cant even mount the ****ing usb flashdrive through OTG!!!!! On other devices, it works fine, but on this device it doesn't even show the frickin USB-OTG option.
TRiP_E said:
I cant even mount the ****ing usb flashdrive through OTG!!!!! On other devices, it works fine, but on this device it doesn't even show the frickin USB-OTG option.
Click to expand...
Click to collapse
Try rooting the device and then use the Stick Mount app, if your device has the hardware to support OTG, that should enable it, but if your device does not have the hardware to support OTG then it doesn't matter what you do softwarewise or what you modify, it has to have the hardware or it can't do it at all.
Things like this are why I'd never buy or own a ZTE device of any kind. Relatively soeakibg, they are all junk.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
Only thing is, I dont HAVE any system to boot in order to check that. I guess I'm out of luck, no wonder why others said this phone was crap.
TRiP_E said:
Only thing is, I dont HAVE any system to boot in order to check that. I guess I'm out of luck, no wonder why others said this phone was crap.
Click to expand...
Click to collapse
If you can use adb shell or fastboot, you can try getting a copy of system.img from someone with your exact device and dd or fastboot flash the img.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
Any ADB commands other than Sideload will just respond as error:closed, as the computer only reads the system when in ADB Sideload mode. However, when trying to sideload a ROM, the phone will disconnect and say failed, while the computer stays on xfer: 0.00. Maybe I could get some instructions to fix that? Maybe a bad TWRP version? If so, I'm ****ed...
After reading other pols forums, it seems that I didn't have to delete the internal storage........
TRiP_E said:
Any ADB commands other than Sideload will just respond as error:closed, as the computer only reads the system when in ADB Sideload mode. However, when trying to sideload a ROM, the phone will disconnect and say failed, while the computer stays on xfer: 0.00. Maybe I could get some instructions to fix that? Maybe a bad TWRP version? If so, I'm ****ed...
Click to expand...
Click to collapse
Sideloading a ROM won't work.
Try
adb reboot bootloader
If you can boot to bootloader or fastboot you can try finding the firmware for another device that has all of the exact same hardware components that your device has then try fastboot flashing it or extract the separate .imgs from the firmware and use the fastboot commands to flash the boot.img and system.img.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
can't get into fastboot, ADB command says error: closed, while doing the command in terminal in the TWRP menu keeps me on ZTE screen (only reboot recovery works, not as ADB command but in terminal).
TRiP_E said:
Any ADB commands other than Sideload will just respond as error:closed, as the computer only reads the system when in ADB Sideload mode. However, when trying to sideload a ROM, the phone will disconnect and say failed, while the computer stays on xfer: 0.00. Maybe I could get some instructions to fix that? Maybe a bad TWRP version? If so, I'm ****ed...
Click to expand...
Click to collapse
I have most, if not all the. Img files for this I managed to successfully root, TWRP, and deKingoCrap my n817
I also have a nandroid of this phone, though mine is the qlink one
help.
equitube said:
I have most, if not all the. Img files for this I managed to successfully root, TWRP, and deKingoCrap my n817
I also have a nandroid of this phone, though mine is the qlink one
Click to expand...
Click to collapse
dude i need the twrp backup of the qlink variant. i formatted the system and got bootloop at zte screen
filldapipe said:
dude i need the twrp backup of the qlink variant. i formatted the system and got bootloop at zte screen
Click to expand...
Click to collapse
Did you ever get the TWRP for this? I have it in my dropbox pm me.
The issue were running into is that the TWRP on this model can't see the ext sd. The backup is 1.5 or 2gb which is usually too large to fit on the internal SD
Slacker is working hard at modding the Fstab file to make TWRP see that storage. Any ideas please let him or I know([email protected] or here )
I'm also working on an EquiMods custom ROM for this. Bare bones battery saver, switchable to performance when needed.
Anyone know if and how these can be overclocked?
I have a deodex rom done for this phone and also should have the working twrp recovery by morning. The cm11.0 ive been working on is almost done. I hope Everytime i flash it to phone i get white screen. Also im going to install xposed on it in the morning. I think i found the fix for that to work
Any news on this? I can't find anything that works with this phone. I have adb sideload working, but that's pretty useless from what I understand.
edsfunsite said:
Any news on this? I can't find anything that works with this phone. I have adb sideload working, but that's pretty useless from what I understand.
Click to expand...
Click to collapse
They obviously got something to work since there are members in this thread that have TWRP installed on their devices, that means they can at least root the device but I doubt there are any ROMs for this device.
Sent from my LGL84VL using Tapatalk
I've rooted my N817 but never made an Nandroid backup. I still have TWRP up and working but I've tried to flash the 2 roms I know of....they both "install" but when I try to boot It stays in the ZTE screen...Help!

Need to get TWRP on my unrooted phone but can only ADB over TCP/IP —*is it possible?

I need to get TWRP onto my unrooted Pixel XL but I can't ADB over USB (long story). I'm able to ADB over TCP/IP, but I can't flash recovery from within system, nor can I root (in order to Flashify).
Is there any way to get TWRP on here with the limited options available to me? Perhaps some kind of command or app or something I'm overlooking? Alternatively, is there any way to ADB over TCP/IP from within either bootloader or the stock recovery?
(Everything I've researched so far says "Nope" but I'm hoping someone here might have a suggestion I haven't tried yet)
Is it possible to queue commands?
eg:
adb reboot bootloader; fastboot flash recovery twrp.zip
Alternatively, is there any sort of adb equivalent of fastboot boot recovery.img that would reboot and then automatically boot the img without me needing to send a fastboot command?
You are out of luck. None of the software that you would need is even running in that state. You will need a hardwire connection.

Need help... stuck in Fastboot Mode

Hi,
My Pixel 3 was rooted with Magisk. After uninstalling it, I lost root, tried to re-root with Magisk and ended up stuck in fastboot mode with "error boot prepare" and now can't exit or power down.
I assume I won't be able to save my data, is there any way to reset/flash stock image?
adb fastboot devices show my Pixel 3
adb fastboot reboot works but goes right back to fastboot mode.
If I'm posting in the wrong forum, can you please direct me to the appropriate one.
Thanks
Martha.
krakheadmartha said:
Hi,
My Pixel 3 was rooted with Magisk. After uninstalling it, I lost root, tried to re-root with Magisk and ended up stuck in fastboot mode with "error boot prepare" and now can't exit or power down.
I assume I won't be able to save my data, is there any way to reset/flash stock image?
adb fastboot devices show my Pixel 3
adb fastboot reboot works but goes right back to fastboot mode.
If I'm posting in the wrong forum, can you please direct me to the appropriate one.
Thanks
Martha.
Click to expand...
Click to collapse
I assume your bootloader is unlocked? Have you tried flashing the factory image with fastboot? I'd first try using the flash-all batch file with the -w removed. That way you might be able to save data.
jd1639 said:
I assume your bootloader is unlocked? Have you tried flashing the factory image with fastboot? I'd first try using the flash-all batch file with the -w removed. That way you might be able to save data.
Click to expand...
Click to collapse
Thanks for your reply.
After countless tries to flash-all with fastboot as well as flashing different options nothing worked...
I originally rooted my phone from a Mac with no issues. I could still run fastboot reboot and other commands but it would revert back to the fastboot mode.
I finally loaded up Parallels and tried fastboot flash-all from Windows and managed to reset on the first try.
Not sure why it didn't work with my Mac... but I'll always use Windows from now on.
***SOLVED!***
krakheadmartha said:
Thanks for your reply.
After countless tries to flash-all with fastboot as well as flashing different options nothing worked...
I originally rooted my phone from a Mac with no issues. I could still run fastboot reboot and other commands but it would revert back to the fastboot mode.
I finally loaded up Parallels and tried fastboot flash-all from Windows and managed to reset on the first try.
Not sure why it didn't work with my Mac... but I'll always use Windows from now on.
***SOLVED!***
Click to expand...
Click to collapse
I'm not very familiar with mac's. You need to use the .sh file, which I'm pretty sure you know. But you also need to edit the batch file. Command lines that start with / need to be changed to ./ Or something like that. I don't remember exactly.

Phone is Cycling between Bootloader Unlocked Screen and Motorola Sp

I just tried rooting my phone. The phone is cycling back and forth between the bootloader is unlocked screen and the Motorola splash screen.
To repeat some steps from a prior post.
My phone had QPR30.80-58-3 .
I downloaded that ROM and extracted the boot.img file.
I downloaded the latest Magisk Manager and installed it on my phone.
I ran through the patching process for boot.img.
I requested an unlock code from Motorola and unlocked the bootloader.
I flashed the patched boot image which patched partition b.
I flashed the patched boot image to partition a.
I rebooted which began the cycle.
I tried holding down the power button but it returns to the cycle.
I can get back to the bootloader with the Volume Down and Power buttons.
Any suggestions on what could get me back to a functioning phone, rooted or not rooted?
I would confirm the version of the boot image you flashed matches the version of the installed rom. You could also try to flash the unpatched / original boot.img to see if that gets you booting again.
dafunk60 said:
I would confirm the version of the boot image you flashed matches the version of the installed rom. You could also try to flash the unpatched / original boot.img to see if that gets you booting again.
Click to expand...
Click to collapse
I checked that the image I patched was from the QPR30.80-58-3 ROM which matched the level after the phone was updated.
I flashed that original boot image which flashed partition a and then rebooted. I did not flash partition b.
It first came up with the unlock warning screen. It sat on the Motorola splash screen for a noticeable amount of time followed by a yellow screen with a circle around the Motorola symbol. Finally it ended up on a blue Hello there screen with a yellow start button.
This screen was unresponsive. Eventually through various cyclings through all this I ended up on a screen that said Android could not boot and gave me an option of a factory reset. I did that but it did not help getting past the Hi there screen.
I went back and flashed the QPR30.80_58 image on both partitions a and b. This got me back to setting up the phone again. The phone is at QPR30.80_58. I am considering just rooting at this level.
So I tried patching the original QPR30.80_58 boot image. I did notice that it appeared the phone had automatically staged the QPRS30.80_58_3 update. I proceeded in (false) hopes that I could stop that.
It flashed the b partition. Ended up stuck in the bootloader unlock loop. I flashed the a partition but no change.
Previously I had ended up on a recovery screen automatically after some time. I could not force this to happen.
I tried flashing the original unpatched boot image but would end up on a non-functioning Hello there screen.
I tried adb recovery and adb shell but came back with device unauthorized.
I tried following some instructions on using fastboot erase userdata and fastboot erase cache. No change.
I finally found out that the Recovery menu was option off the bootloader screen. However, that came up with No command.
Lenovo Rescue did not want to recognize my XT2043-4 device.
I flashed the unpatched retail QPRS30.80_58_3 boot image to both a and b partitions. That got me back to a functioning phone. After getting through the login and setup steps I did find that it was at QPRS30.80_58_3.
Out of curiosity, I tried Lenovo Rescue again. I received a "Failed to match connected device. Reconnect device, then try again." which did not work.
Now I am at a loss.
DougPeterson said:
So I tried patching the original QPR30.80_58 boot image. I did notice that it appeared the phone had automatically staged the QPRS30.80_58_3 update. I proceeded in (false) hopes that I could stop that.
It flashed the b partition. Ended up stuck in the bootloader unlock loop. I flashed the a partition but no change.
Previously I had ended up on a recovery screen automatically after some time. I could not force this to happen.
I tried flashing the original unpatched boot image but would end up on a non-functioning Hello there screen.
I tried adb recovery and adb shell but came back with device unauthorized.
I tried following some instructions on using fastboot erase userdata and fastboot erase cache. No change.
I finally found out that the Recovery menu was option off the bootloader screen. However, that came up with No command.
Lenovo Rescue did not want to recognize my XT2043-4 device.
I flashed the unpatched retail QPRS30.80_58_3 boot image to both a and b partitions. That got me back to a functioning phone. After getting through the login and setup steps I did find that it was at QPRS30.80_58_3.
Out of curiosity, I tried Lenovo Rescue again. I received a "Failed to match connected device. Reconnect device, then try again." which did not work.
Now I am at a loss.
Click to expand...
Click to collapse
Happy to hear you have a working phone again! The lack of touchscreen response & the stuck at the hello screen issues are what others have reported when they used a boot image from a different version than on the phone. I suspect that something got confused between the version & slot somewhere along the way. As far as the Lenovo Rescue software not seeing the phone, it's communicating via ADB. If I recall correctly I needed to reauthorize the PC to connect via ADB after updating from 30.80-58 to 30.80-58-3. When I connect the phone via USB there's a popup on the phone asking to authorize the PC. Can you connect via ADB in the command line? If yes, you may want to reinstall the Lenovo software. If no, I would troubleshoot the ADB connection.
I originally rooted the 30.80-58 version. When 30.80-58-3 was released all I did was flash the unpatched boot.img, took the update OTA, let it reboot, then flash a patched boot.img from 30.80-58-3. All worked as expected, user data was intact.
dafunk60 said:
Happy to hear you have a working phone again! The lack of touchscreen response & the stuck at the hello screen issues are what others have reported when they used a boot image from a different version than on the phone. I suspect that something got confused between the version & slot somewhere along the way. As far as the Lenovo Rescue software not seeing the phone, it's communicating via ADB. If I recall correctly I needed to reauthorize the PC to connect via ADB after updating from 30.80-58 to 30.80-58-3. When I connect the phone via USB there's a popup on the phone asking to authorize the PC. Can you connect via ADB in the command line? If yes, you may want to reinstall the Lenovo software. If no, I would troubleshoot the ADB connection.
I originally rooted the 30.80-58 version. When 30.80-58-3 was released all I did was flash the unpatched boot.img, took the update OTA, let it reboot, then flash a patched boot.img from 30.80-58-3. All worked as expected, user data was intact.
Click to expand...
Click to collapse
I double checked that I had USB debugging set, given I have reset a couple of times. I revoked all USB access and reinstalled the Rescue app. I still get the Failed to match connected devices error.
fastboot device will list the phone.
adb devices or adb devices -l does not list anything and adb shell says no devices/emulators found.
If I try to get into recovery mode I get a No command screen. I have been trying to take notes on what I did but there have been gaps in all the fiddling. I may have only flashed one partition the last time I tried putting back a stock boot image.
For USB drivers I downloaded the latest from Motorola. Was that sufficient for this?
DougPeterson said:
I double checked that I had USB debugging set, given I have reset a couple of times. I revoked all USB access and reinstalled the Rescue app. I still get the Failed to match connected devices error.
fastboot device will list the phone.
adb devices or adb devices -l does not list anything and adb shell says no devices/emulators found.
If I try to get into recovery mode I get a No command screen. I have been trying to take notes on what I did but there have been gaps in all the fiddling. I may have only flashed one partition the last time I tried putting back a stock boot image.
For USB drivers I downloaded the latest from Motorola. Was that sufficient for this?
Click to expand...
Click to collapse
If you want to get into recovery, boot into the bootloader than do
Code:
fastboot reboot fastboot
That'll boot you into fastbootd which has an option to go to the real recovery
DougPeterson said:
I double checked that I had USB debugging set, given I have reset a couple of times. I revoked all USB access and reinstalled the Rescue app. I still get the Failed to match connected devices error.
fastboot device will list the phone.
adb devices or adb devices -l does not list anything and adb shell says no devices/emulators found.
If I try to get into recovery mode I get a No command screen. I have been trying to take notes on what I did but there have been gaps in all the fiddling. I may have only flashed one partition the last time I tried putting back a stock boot image.
For USB drivers I downloaded the latest from Motorola. Was that sufficient for this?
Click to expand...
Click to collapse
If adb isn't showing any devices connected that would explain why the rescue software cannot find your phone. Perhaps you don't have the correct driver installed. Windows Device Manager shows the phone as a Motorola ADB Device on my PC.
View attachment 5061327
Another possibility is that you have multiple versions of adb on your PC. Older versions won't work but the adb.exe in "C:\Program Files (x86)\Rescue and Smart Assistant" works for sure. With your phone booted into android & unlocked, plug it into your PC. Do you see the "USB debugging connected" on the phone? If you don't I would re-check that USB debugging is enabled. If you do see the debugging notification, on your PC, open a command prompt and navigate to "C:\Program Files (x86)\Rescue and Smart Assistant". Run
Code:
adb devices
Does adb find your phone?

Categories

Resources