1 puan yazan GN⁺ 2024-07-03 | 1 yorum | WhatsApp'ta paylaş

Google Drive'dan Linux önyükleme

Peki ama nasıl?

  • Yardımcı bir cihaz olmadan bunu kendi başına çözmek istiyordu
  • FUSE kullanılarak kullanıcı alanında bir dosya sistemi sürücüsü gibi çalışacak şekilde yapılandırıldı
  • FUSE programının Linux çekirdeğinin initramfs'ine kurulması ve ağ yapılandırmasının yapılması gerekti

Linux önyükleme süreci

  1. Donanım yazılımı (BIOS/UEFI) önyükleyiciyi başlatır ve yükler
  2. Önyükleyici çekirdeği yükler
  3. Çekirdek, gerçek dosya sistemini bağlamak için araçlar sağlamak üzere geçici dosya sistemini RAM'e açar
  4. Çekirdek gerçek dosya sistemini bağlar ve süreci yeni dosya sisteminde çalışan init sistemine geçirir

Kavram kanıtı

  • Ağ desteği ve uygun FUSE ikilisini içeren bir initramfs gerekiyordu
  • Dracut kullanılarak özel initramfs kolayca oluşturulabildi
  • Arch Linux tabanlı bir yapı oluşturmaya karar verildi

Google devreye giriyor

  • Google Drive'ı FUSE ile bağlamak için google-drive-ocamlfuse projesi kullanıldı
  • Sembolik bağlantılar, sabit bağlantılar, hız, izin sorunları vb. dahil birçok sorun ortaya çıktı
  • Sorunları çözmek için sembolik bağlantılar elle oluşturuldu ve diğer ayarlar düzenlendi

Gerçek donanımda çalıştırma

  • Doğru Ethernet sürücüsünü kullanma ve ağ ayarlarını değiştirme
  • Gerçek donanımda test etmek için USB sürücüsüne entegre bir EFI dosyası oluşturma

Sonuç

  • Bu proje, bulut yerel bilişimin olanaklarını gösteriyor
  • Linux'u SSH veya Git deposundan önyüklemek gibi çeşitli uygulama olasılıkları bulunuyor

GN⁺ görüşü

  • Bu proje, bulut yerel bilişimin olanaklarını keşfeden ilgi çekici bir deneme
  • FUSE kullanarak Google Drive'dan Linux önyüklerken ortaya çıkan çeşitli sorunların nasıl çözüleceği öğrenilebilir
  • Bulut tabanlı dosya sistemlerinin performans ve kararlılık sorunları dikkate alınmalı
  • Benzer işlevler sunan diğer projeler arasında gitfs de bulunuyor
  • Yeni bir teknolojiyi benimserken performans, kararlılık ve güvenlik gibi açılar dikkatle değerlendirilmeli

1 yorum

 
GN⁺ 2024-07-03
Hacker News görüşü
  • Çekirdek zaten başlatılmış durumda olduğundan, bu tekniğe "boot" demek zor

    • grub'a google-drive "mount" desteği eklenirse ancak o zaman kabul ederim
    • Bu, rootfs'yi garip bir yere yerleştirmekten ibaret
    • Bu arada benim projem, NixOS'un rootfs'sini IPFS üzerine yerleştirmek
  • Geçmişte Sun Solaris HTTP üzerinden boot edilebiliyordu

    • Buna wanboot deniyordu
    • SPARC makinelerde OpenBoot PROM firmware seçeneğiydi
    • Ağdan boot yapılandırma örneği:
      ok setenv network-boot-arguments dhcp,hostname=myclient,file=https://192.168.1.1/cgi-bin/wanboot-cgi
      ok boot net
      
    • Bu, initramfs ve çekirdeği (inter)network üzerinden yüklüyordu
    • İlgili doküman bağlantıları:
  • Linux'u bittorrent ile boot etmek nasıl olurdu?

    • nbdkit-torrent-plugin örneği
    • Sorun şu ki, Linux yüksek gecikmeli aygıtlardan boot ederken çekirdek I/O isteklerinde çok hızlı timeout'a düşüyor (yaklaşık 60 saniye)
    • Timeout süresini artırmak gerekir
  • Yerel initramfs'den birkaç megabaytlık bir rootfs boot edildiğinde, buna gerçekten uzaktan boot denebilir mi?

  • İnsanların gerçekten istediği şey, özellikle gömülü sistemlerde saniyeler düzeyinde boot süresi

    • Bu zor bir problem ama bunu çözmeye yönelik CS araştırmalarına ilgi yok gibi görünüyor
  • S3'ten boot etmekten bahsediliyor

    • Google Drive'a geçince gecikme ekleniyor
    • Yine de iyi iş çıkarmış
  • Eve ilk kez kablo modem kurduğumda, boot floppy kullanarak BSD'yi ağ üzerinden kurabiliyordum

    • O zamanlar bu inanılmazdı
    • Bugün hâlâ mümkün mü emin değilim
    • Muhtemelen dosyalar FTP veya TFTP'de barındırılıyordu
    • Günümüzde ise çoğunlukla ISO dosyaları kullanılıyor
  • Benzer bir şey yapmıştım: Tumbleweed kurulum DVD'sinin RPM deposundan boot etmek

    • İlk hedefim, RPM paketlerini mount eden bir fuse dosya sistemi yazmaktı
    • Ne kadar ileri gidilebileceğini görmek istedim
    • Sonuçta epey ileri gidilebildi:
    • Sistem çalışan bir masaüstüne kadar boot ediyor ve DVD'deki tüm paketler kuruluymuş gibi görünüyor
  • Windows'ta Citrix ile bu sık sık yapılıyor

    • Buna pvs deniyor
    • Küçük bir pxe boot yapıp Windows sunucu imajını stream ediyorlar
  • "Aklım bulanıyor ve binlerce yıllık programcı zamanı ile deliliğin çığlıkları arasından başyapıtımı buluyorum"

    • Pulitzer'e aday olacak türden