Skip to content

Commit d8ccb81

Browse files
authored
readme nit
1 parent 13104a2 commit d8ccb81

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ from [google support](https://web.archive.org/web/20250725010242/https://support
1616
> >> You get unlimited storage in Original quality at no charge.
1717
> >> You won’t be able to back up in Storage saver.
1818
19-
everyone has media to store. and everyone likes free. this sounds great! but of course there's a catch. All media must be backed up through the Google Photos app, which only scans files from the internal storage.
19+
everyone needs storage. and everyone likes no charge. this sounds great! but of course there's a catch. all media must be backed up through the Google Photos app, which pretends it can only see files located in the device's internal storage.
2020

21-
So everybody painstakingly copies their media into to their pixel's internal storage to get it backed up. Some people use FAT32 usb drives, some people use FTP transfers, some people use [syncthing](https://github.com/syncthing/syncthing). but i was annoyed by having to tranfer photos & videos over unreliable & slow network connections, just to drastically & unnecessarily shorten the flash memory's [limited lifetime](https://en.wikipedia.org/wiki/Flash_memory#Memory_wear). So i started looking into ways to get my "unlimited storage" without destroying my pixel in the process.
21+
so everybody painstakingly copies their media into to their pixel's internal storage to get it backed up. some copy photos using FAT32 usb drives. some use FTP transfers. many use [syncthing](https://github.com/syncthing/syncthing) for automation. but i got fed up of transferring photos & videos over unreliable & slow network connections, just to drastically & unnecessarily shorten the flash memory's [limited lifetime](https://en.wikipedia.org/wiki/Flash_memory#Memory_wear). So i started looking into ways to get my unlimited storage without destroying my pixel in the process.
2222

23-
Android is kinda just linux so my first thought was [NFS](https://en.wikipedia.org/wiki/Network_File_System). Sadly, the Pixel's kernel wasn't compiled with it (`cat /proc/filesystems`). We can actually add NFS support at runtime using a [linux kernel module](https://wiki.archlinux.org/title/Kernel_module) - however i believe such a module needs to be signed by Google on the stock OS due to [Android Verified Boot](https://source.android.com/docs/security/features/verifiedboot/avb).
23+
Android is kinda just linux so my first thought was [NFS](https://en.wikipedia.org/wiki/Network_File_System). After all, [why not?](https://i.kym-cdn.com/entries/icons/original/000/036/284/bilbo.jpg) Why shouldn't I mount a NAS straight into the DCIM folder? Alas, the Pixel's kernel wasn't compiled with NFS support (try `cat /proc/filesystems`). We can actually add NFS support at runtime using a [linux kernel module](https://wiki.archlinux.org/title/Kernel_module) - however i believe such a module needs to be signed by Google on the stock OS due to [Android Verified Boot](https://source.android.com/docs/security/features/verifiedboot/avb).
2424

2525
i then looked into using FUSE (filesystem in user space) based solutions. There are userspace nfs clients like [nfs-ganesha](https://github.com/nfs-ganesha/nfs-ganesha) & local filesystem mounting solutions like [bindfs](https://github.com/mpartel/bindfs) (via [termux root-packages](https://github.com/termux/termux-packages/tree/817ccec622c510929e339285eb5400dbb5b2f4c7/root-packages/bindfs)) and [fuse-nfs](https://github.com/sahlberg/fuse-nfs.git) (complicated to compile for android so i built my own minimal version in Rust). this works and is especially good at sidestepping android 10's selinux policies. however i found FUSE's performance on the pixel to be incredibly slow. (note: i have not tried fbind but i don't think that works out of the box here without using FUSE)
2626

0 commit comments

Comments
 (0)