บูต Linux จาก Google Drive
แต่ทำได้อย่างไร?
- ต้องการแก้ปัญหานี้ได้ด้วยตัวเองโดยไม่พึ่งอุปกรณ์เสริม
- ตั้งค่าให้ทำงานเป็นไดรเวอร์ไฟล์ซิสเต็มใน user space โดยใช้ FUSE
- จำเป็นต้องติดตั้งโปรแกรม FUSE ลงใน Linux kernel initramfs และตั้งค่าเครือข่าย
กระบวนการบูตของ Linux
- เฟิร์มแวร์ (BIOS/UEFI) เริ่มต้นและโหลด boot loader
- boot loader โหลดเคอร์เนล
- เคอร์เนลแตกไฟล์ระบบชั่วคราวลงใน RAM เพื่อเตรียมเครื่องมือสำหรับเมานต์ไฟล์ซิสเต็มจริง
- เคอร์เนลเมานต์ไฟล์ซิสเต็มจริง และสลับโปรเซสไปยังระบบ init ที่ทำงานอยู่บนไฟล์ซิสเต็มใหม่
การพิสูจน์แนวคิด
- ต้องใช้ initramfs ที่มีการรองรับเครือข่ายและมี FUSE binary ที่เหมาะสมรวมอยู่ด้วย
- สามารถใช้ Dracut เพื่อสร้าง initramfs แบบปรับแต่งเองได้อย่างง่ายดาย
- ตัดสินใจสร้างโดยอิงจาก Arch Linux
Google เข้ามาเกี่ยวข้อง
- ใช้โปรเจ็กต์ google-drive-ocamlfuse เพื่อเมานต์ Google Drive ด้วย FUSE
- พบปัญหาหลายอย่าง เช่น symbolic link, hard link, ความเร็ว, ปัญหาสิทธิ์ เป็นต้น
- แก้ปัญหาด้วยการสร้าง symbolic link ด้วยตนเองและปรับแต่งการตั้งค่าอื่น ๆ
การรันบนฮาร์ดแวร์จริง
- ใช้ไดรเวอร์อีเทอร์เน็ตที่ถูกต้องและเปลี่ยนการตั้งค่าเครือข่าย
- สร้างไฟล์ EFI แบบรวมลงใน USB drive เพื่อทดสอบบนฮาร์ดแวร์จริง
สรุป
- โปรเจ็กต์นี้แสดงให้เห็นถึงความเป็นไปได้ของ cloud-native computing
- ยังมีการประยุกต์ใช้อีกหลากหลาย เช่น การบูต Linux ผ่าน SSH หรือจาก Git repository
ความเห็นของ GN⁺
- โปรเจ็กต์นี้เป็นความพยายามที่น่าสนใจในการสำรวจความเป็นไปได้ของ cloud-native computing
- สามารถเรียนรู้วิธีแก้ปัญหาหลากหลายที่เกิดขึ้นระหว่างการบูต Linux จาก Google Drive โดยใช้ FUSE
- ควรคำนึงถึงปัญหาด้านประสิทธิภาพและความเสถียรของไฟล์ซิสเต็มบนคลาวด์
- โปรเจ็กต์อื่นที่มีความสามารถคล้ายกัน ได้แก่ gitfs
- เมื่อจะนำเทคโนโลยีใหม่มาใช้ ควรพิจารณาอย่างรอบคอบในด้านประสิทธิภาพ ความเสถียร และความปลอดภัย
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
จะเรียกเทคนิคนี้ว่า "การบูต" ก็คงไม่ค่อยถูกนัก เพราะเคอร์เนลบูตขึ้นมาแล้ว
ในอดีต Sun Solaris เคยบูตผ่าน HTTP ได้
แล้วถ้าบูต Linux ผ่าน bittorrent ล่ะ?
ถ้าบูต rootfs ขนาดไม่กี่เมกะไบต์จาก initramfs ในเครื่อง จะยังเรียกว่าเป็นการบูตจากระยะไกลได้ไหม?
สิ่งที่ผู้คนต้องการจริง ๆ คือการบูตระดับวินาที โดยเฉพาะในระบบ embedded
มีการพูดถึงการบูตจาก S3
ตอนที่ติดตั้งเคเบิลโมเด็มที่บ้านครั้งแรก ฉันสามารถใช้บูตฟลอปปีดิสก์เพื่อติดตั้ง BSD ผ่านเครือข่ายได้
เคยทำอะไรคล้าย ๆ กันมาก่อน: บูตจากคลัง RPM บนแผ่นติดตั้ง DVD ของ Tumbleweed
บน Windows มักทำแบบนี้บ่อย ๆ ด้วย Citrix
"สติฉันพร่าเลือนลง และท่ามกลางเวลาของโปรแกรมเมอร์นับพันปีพร้อมเสียงกรีดร้องแห่งความบ้าคลั่ง ฉันก็ค้นพบผลงานชิ้นเอกของตัวเอง"