Ersei Picks an Unusual Boot Device for This Arch Linux System: Google Drive
"Like all good projects," the student explains of something with self-admittedly middling usefulness, "this began with an Idea."
Pseudonymous computer science student "Ersei" has created a Linux system that uses a Google Drive cloud storage system as its boot device.
"Competitiveness is a vice of mine. When I heard that a friend got Linux to boot off of NFS [Network File System], I had to one-up her," Ersei explains. "I had to prove that I could create something harder, something better, faster, stronger. "On the brink of insanity, my tattered mind unable to comprehend the twisted interplay of millennia of arcane programmer-time and the ragged screech of madness, I reached into the Mass and steeled myself to the ground lest I be pulled in, and found my magnum opus. Booting Linux off of a Google Drive root."
Google Drive, launched back in 2012, is designed to allow users to store files β both those created on and edited by Google's productivity apps including Google Docs and those made elsewhere. With a claimed user count of over a billion and trillions of files stored, it's popular β but, to the best of Ersei's and our combined knowledge, has never been used as a boot device for an operating system.
"I wanted this to remain self-contained, so I couldn't have a second machine act as a 'helper,'" Ersei explains of the process. "My mind went immediately to FUSE [Filesystem in Userspace] β a program that acts as a filesystem driver in userspace (with cooperation from the kernel). I just had to get FUSE programs installed in the Linux kernel initramfs
and configure networking. How bad could it be?"
The answer, perhaps unsurprisingly, is "pretty bad" β but not impossible. Ersei got the system, based on the Arch Linux distribution, running locally as a proof-of-concept first, then set about porting it to Google Drive. After a lot of tinkering, boot was achieved β even using a device with no storage of its own. There are, however, caveats: it's slow, symbolic and hard linking don't work correctly, and permissions and attributes aren't recorded.
"Despite how silly this project is, there are a few less-silly uses I can think of, like booting Linux off of SSH [Secure Shell]," Ersei proposes, "or perhaps booting Linux off of a Git repository and tracking every change in Git using gitfs
. The possibilities are endless, despite the middling usefulness."
The full project write-up is available on Ersei's blog.