Arrancar Linux desde Google Drive
Pero, ¿cómo?
- Quería resolverlo por sí solo, sin dispositivos auxiliares
- Usó FUSE para configurarlo de modo que funcionara como un controlador de sistema de archivos en espacio de usuario
- Tuvo que instalar el programa FUSE en el initramfs del kernel de Linux y configurar la red
Proceso de arranque de Linux
- El firmware (BIOS/UEFI) inicia y carga el cargador de arranque
- El cargador de arranque carga el kernel
- El kernel descomprime un sistema de archivos temporal en la RAM para proporcionar herramientas con las que montar el sistema de archivos real
- El kernel monta el sistema de archivos real y transfiere los procesos al sistema init que se ejecuta en el nuevo sistema de archivos
Prueba de concepto
- Se necesitaba un initramfs con soporte de red y el binario FUSE adecuado
- Con Dracut fue posible compilar fácilmente un initramfs personalizado
- Se decidió compilarlo sobre la base de Arch Linux
Google interviene
- Se usó el proyecto google-drive-ocamlfuse para montar Google Drive con FUSE
- Surgieron varios problemas: enlaces simbólicos, enlaces duros, velocidad, permisos, etc.
- Para resolverlos, se crearon enlaces simbólicos manualmente y se ajustaron otras configuraciones
Ejecutarlo en hardware real
- Uso del controlador Ethernet correcto y cambios en la configuración de red
- Se compiló un archivo EFI integrado en una unidad USB para probarlo en hardware real
Conclusión
- Este proyecto muestra las posibilidades de la computación cloud-native
- Existen varias aplicaciones posibles, como arrancar Linux desde SSH o desde un repositorio Git
Opinión de GN⁺
- Este proyecto es un intento interesante de explorar las posibilidades de la computación cloud-native
- Se puede aprender cómo resolver varios problemas que surgen al arrancar Linux desde Google Drive usando FUSE
- Hay que considerar los problemas de rendimiento y estabilidad de los sistemas de archivos basados en la nube
- Otros proyectos que ofrecen funciones similares incluyen gitfs
- Al adoptar nuevas tecnologías, hay que considerar cuidadosamente aspectos como rendimiento, estabilidad y seguridad
1 comentarios
Opinión de Hacker News
Llamar a esta técnica "arranque" es discutible, porque el kernel ya está arrancado
google-driveen grubrootfsen un lugar extrañorootfsde NixOS en IPFSEn el pasado, Sun Solaris podía arrancar a través de HTTP
wanbootinitramfsy el kernel a través de la red¿Qué tal arrancar Linux por bittorrent?
Si arrancas unos pocos megabytes de
rootfsdesde uninitramfslocal, ¿realmente se puede decir que arranca en remoto?Lo que la gente realmente quiere son arranques en segundos, especialmente en sistemas embebidos
Se menciona arrancar desde S3
Cuando instalaron por primera vez el módem de cable en mi casa, se podía instalar BSD por red usando un disquete de arranque
Hice algo parecido: arrancar desde el repositorio RPM del DVD de instalación de Tumbleweed
En Windows esto se hace seguido usando Citrix
pvspxey transmites la imagen de un servidor Windows"Mi mente se nubla, y entre miles de años de tiempo de programadores y gritos de locura encuentro mi obra maestra"