A computer science student at Purdue University has successfully booted Linux using Google Drive. The project started out as a fun challenge to emulate a fellow student’s success in booting Linux from NFS (Network File System), but evolved into a complicated and somewhat impractical experiment.
Ersei, who is also an open source developer, wanted to boot Linux directly from Google’s cloud storage platform without having to rely on another computer for support. To do this, they used FUSE (Filesystem in Userspace) to create a filesystem driver within the user space, which laid the technical foundation for the project.
Understanding the Linux boot process was crucial. Essentially, the firmware (BIOS/UEFI) loads a bootloader, which then boots the kernel. The kernel opens a temporary filesystem in RAM, mounts the actual filesystem, and hands control to the init system. Ersei’s job was to integrate a FUSE filesystem at this point in the process.
Good luck!
This was done by modifying the initramfs to include FUSE binaries and networking support using Dracut, a tool for creating initramfs images. Ersei chose Arch Linux for its simplicity and built the required environment from scratch.
After the EFI image was successfully created, Ersei began initial testing with a root stored in an S3 bucket. There were numerous issues related to networking and drivers that took a lot of time, resources, and determination to resolve, but progress was eventually made.
Mounting the root filesystem on Google Drive via google-drive-ocamlfuse led to further complications such as unsupported symlinks, hardlinks, and permission issues along with slow performance. Despite significant efforts to fix these issues, they had a major and unavoidable impact on the functionality of the system.
Testing on real hardware revealed more limitations, such as hardware compatibility and network setup issues, and a lack of support for built-in keyboards, requiring the use of an external keyboard. You can read all about the full project and the many issues that arose at Ersei’s blog here.
Despite its technical impressiveness, there are clear practical limitations to booting Linux from Google Drive. While it reflects the current trend toward using cloud technologies, Ersei acknowledged the limited utility of their setup, suggesting that it could inspire niche commercial applications or similar experiments, such as booting Linux from SSH or a Git repository.