En un avance sorprendente, Google Drive, ahora se puede utilizar para arrancar sistemas operativos Linux al permitir la creación de sistemas booteables, eliminando la dependencia de las unidades USB. Esta innovación podría cambiar la forma en que manejamos y transportamos sistemas operativos.
Hasta ahora, las unidades USB eran indispensables tanto para almacenar archivos como crear discos de arranque, necesarios para instalar o ejecutar otros sistemas operativos. Mientras que los sistemas de almacenamiento de archivos como Dropbox y Google Drive se han hecho cargo de un gran porcentaje de la tarea anterior de las unidades USB, no han sido capaces de actuar como medios de arranque. Pero, puede que eso ya no sea así, ya que esta guía es la primera que conocemos capaz de utilizar Google Drive para arrancar en un sistema Linux.
Sin embargo, un nuevo método permite utilizar Google Drive para esta tarea, marcando un hito en la tecnología de almacenamiento en la nube. Este proceso innovador no es sencillo y requiere dos componentes clave:
- FUSE (Filesystem in Userspace): permite la creación de sistemas de archivos en el espacio de usuario, lo cual es esencial para que Google Drive pueda interactuar de manera efectiva con el proceso de arranque del sistema operativo.
- Etapa del proceso de arranque de Linux: durante el arranque de Linux, el kernel descomprime un sistema de archivos temporal conocido como initramfs, que se utiliza para cargar el sistema de archivos real. Este paso es aprovechado para integrar el soporte de red y FUSE, permitiendo que Google Drive sea utilizado como medio de arranque.
El método aprovecha Dracut, una herramienta que permite usar una instalación de Linux existente para construir infraestructuras personalizadas. En este caso, las infraestructuras se construyen para incluir el soporte adecuado para la red y FUSE.
El concepto inicial de este proyecto se ejecutó en un contenedor, utilizando un proyecto existente llamado google-drive-ocamlfuse para interactuar con Google Drive. Tras resolver varios problemas de acceso root, red, enlaces simbólicos defectuosos y tiempos de espera en el sistema, la configuración se trasladó a un portátil para probarla en hardware real. El sistema funcionó, demostrando que Google Drive puede, de hecho, usarse para arrancar un sistema Linux.
El proyecto comenzó como un desafío personal para superar a un amigo que logró arrancar Linux desde un sistema de archivos en red (NFS). La idea evolucionó para intentar algo más complejo: arrancar Linux desde Google Drive.
Proceso de arranque de Linux
El proceso incluye varios pasos, como la configuración del firmware (BIOS/UEFI) para cargar el cargador de arranque, que a su vez carga el kernel de Linux. El kernel descomprime un sistema de archivos temporal (initramfs) en la RAM, permitiendo montar el sistema de archivos real. En este punto, se puede montar un sistema de archivos FUSE, crucial para este proyecto.
Prueba de concepto
La prueba de concepto incluyó la creación de un initramfs personalizado con soporte de red y los binarios necesarios de FUSE. Utilizando Dracut y construyendo sobre Arch Linux, se creó una imagen EFI para probar el arranque en hardware real.
Montaje en Google Drive
Se utilizó google-drive-ocamlfuse para montar Google Drive en el sistema. Sin embargo, se encontraron varios problemas, como la gestión de enlaces simbólicos y la velocidad de acceso, lo que requirió ajustes adicionales y soluciones creativas. Finalmente, el proyecto logró arrancar un sistema Linux completo desde Google Drive, marcando un hito en el uso de tecnologías de almacenamiento en la nube para tareas típicamente reservadas a hardware local.
Posibles aplicaciones futuras
Aunque el proyecto tiene un componente experimental y lúdico, sus aplicaciones prácticas podrían incluir arrancar sistemas Linux desde otros recursos en la nube, como servidores SSH o repositorios Git, llevando el concepto de computación nativa en la nube a nuevas fronteras. Si bien el autor considera la posibilidad de comercializar esta tecnología, reconoce que aún hay desafíos y áreas de mejora, lo que deja la puerta abierta para futuros desarrollos y exploraciones.Aunque el creador original del proyecto admite que esta innovación puede parecer «algo tonta», reconoce que existen posibles casos de uso en el mundo real para una tecnología como esta. Sin embargo, no se espera que las unidades USB desaparezcan de nuestros escritorios a corto plazo. Para aquellos que no se sientan preparados para enfrentar un desafío técnico de esta magnitud, se recomienda comenzar con la serie Linux Fu de Al Williams.
Este desarrollo abre una nueva dimensión en la forma en que gestionamos nuestros sistemas operativos, mostrando que la nube y el almacenamiento local pueden integrarse de maneras novedosas y útiles. Y puede ofrecer varias ventajas, como la portabilidad del sistema operativo, la posibilidad de acceder a tu entorno de trabajo desde cualquier lugar con conexión a internet y la reducción de la necesidad de hardware de almacenamiento local.
- Primera guía capaz de utilizar Google Drive para arrancar en un sistema Linux: https://ersei.net/en/blog/fuse-root
- https://hackaday.com/2024/07/02/google-drive-now-bootable/
- Github Dracut: https://github.com/dracutdevs/dracut
- Github Google Drive ocamlfuse: https://github.com/astrada/google-drive-ocamlfuse
- Linux Fu de Williams: https://hackaday.com/tag/linux-fu/
- Explicación por parte de Computer Garage LLC en Instagram: https://www.instagram.com/computergaragellc/reel/C89P86Js0KF/