Google Drive से Linux बूट करना
लेकिन कैसे?
- बिना किसी सहायक डिवाइस के इसे अपने आप हल करना चाहते थे
- FUSE का उपयोग करके इसे user space में file system driver की तरह काम करने के लिए सेट किया
- FUSE प्रोग्राम को Linux kernel initramfs में इंस्टॉल करना और networking कॉन्फ़िगर करनी पड़ी
Linux बूट प्रक्रिया
- firmware (BIOS/UEFI) boot loader को शुरू और लोड करता है
- boot loader kernel को लोड करता है
- kernel RAM में एक अस्थायी file system को decompress करता है ताकि वास्तविक file system को mount करने के टूल उपलब्ध कराए जा सकें
- kernel वास्तविक file system को mount करता है और process को नए file system पर चल रहे init system में स्विच करता है
concept proof
- network support और उपयुक्त FUSE binary शामिल करने वाला initramfs आवश्यक था
- Dracut का उपयोग करके custom initramfs को आसानी से build किया जा सका
- Arch Linux के आधार पर build करने का निर्णय लिया गया
Google ने हस्तक्षेप किया
- Google Drive को FUSE के रूप में mount करने के लिए google-drive-ocamlfuse project का उपयोग किया
- कई समस्याएँ आईं: symbolic link, hard link, speed, permission समस्याएँ आदि
- समस्याओं को हल करने के लिए symbolic link हाथ से बनाए गए और अन्य settings समायोजित की गईं
वास्तविक hardware पर चलाना
- सही Ethernet driver का उपयोग और network settings में बदलाव
- वास्तविक hardware पर परीक्षण के लिए USB drive में integrated EFI file build की गई
निष्कर्ष
- यह project cloud-native computing की संभावनाएँ दिखाता है
- SSH या Git repository से Linux बूट करने जैसे विभिन्न application संभव हैं
GN⁺ की राय
- यह project cloud-native computing की संभावनाओं का पता लगाने की एक दिलचस्प कोशिश है
- FUSE का उपयोग करके Google Drive से Linux बूट करने की प्रक्रिया में आने वाली विभिन्न समस्याओं को हल करना कैसे है, यह सीखा जा सकता है
- cloud-आधारित file system की performance और reliability समस्याओं पर विचार करना चाहिए
- समान सुविधा देने वाले अन्य projects में gitfs आदि शामिल हैं
- नई तकनीक अपनाते समय performance, reliability, security जैसे पहलुओं पर सावधानी से विचार करना चाहिए
1 टिप्पणियां
Hacker News टिप्पणियाँ
इस तकनीक को "boot" कहना ठीक नहीं होगा क्योंकि kernel पहले से ही boot हो चुका है
पहले Sun Solaris को HTTP के ज़रिए boot किया जा सकता था
Linux को bittorrent से boot करने का क्या?
अगर local initramfs से कुछ megabytes का rootfs boot हो रहा हो, तो क्या उसे remote boot कहना चाहिए?
लोग वास्तव में जो चाहते हैं, वह है खासकर embedded systems में seconds के भीतर boot
S3 से boot करने का ज़िक्र किया गया
जब मैंने घर पर पहली बार cable modem install किया था, तब boot floppy का इस्तेमाल करके network के ज़रिए BSD install किया जा सकता था
मैंने भी कुछ ऐसा ही किया है: Tumbleweed install DVD के RPM repository से boot किया
Windows में Citrix का उपयोग करके यह अक्सर किया जाता है
"मेरा दिमाग सुन्न हो जाता है, और मैं हज़ारों साल के programmer समय और पागलपन की चीखों के बीच अपनी masterpiece खोजता हूँ"