Fosdem 25: Önyükleme yükleyicileri olmayan tekneler

celeron

Global Mod
Global Mod
Sürüm 2.x'teki Modüler Grand Unified Bootloader, hala çoğu Linux sisteminin yükleyicilerinin kurduğu önyükleme yöntemidir. Çünkü bir dizi dosya sisteminin desteği, EFI, güvenli önyükleme ve çoklu beading Grub 2.x için birçok senaryo için desteklenir. C ve montajcı ile yazılmış Grub 2'nin kaynak kodu, büyümeye ve bakımı yavaş yavaş yavaş ve yavaş yavaş hale getirmeye devam eder.


Reklamcılık



Özellikle EFI sistemleri için ince, modern bir alternatif, SystemD'den SystemD'den, EFI tekne girişinden başlayan ve yalnızca mevcut çekirdek sürümlerine sahip bir önyükleme menüsü gösteren minimalist bir önyükleme yükleyicidir.

Önyükleme işlemi: her şey için bir UKI


Fosdem 25 ile yaptığı konuşmada Red Hat'tan Marta Lewandowska, o zaman her şey gitebilir – çünkü birleşik çekirdek görüntüleri (UKI'ler) başlatmak da önyükleme yükleyicisi olmadan yapabilir. “Daha fazla önyükleme yükleyicisi yok” için NMBL olarak adlandırılan bu konseptte, oluşturulan görüntüler kullanıcılar alanının başlangıcına kadar bir sistem almak için tüm bileşenleri içerir. Gerçek tekne ayrıca, minimal Grub 2 emülasyon katmanı aracılığıyla dosya sistemleri veya ağ arayüzleri için tüm sürücülere sahip çekirdek, önceden tanımlanmış önyükleme parametreleri ve ilk ramdisk içeren bir görüntü çağıran ürün yazılımında bir EFI tekne girişini devralır.

İstek üzerine, görüntü de etkinleştirilmiş bir güvenli önyükleme için imzalanır. Lewandowska'ya göre, sistem başlangıcı için EFI'ye ek olarak daha fazla yardımcı olandan feragat, UKI'lerin ve önyükleme girişlerinin arkasındaki yönetim çabasını azaltmalıdır. Hiçbir yetişkin önyükleme yükleyicisi yüklenmedikten sonra, sistem bu yeni yöntemle çok hızlı bir şekilde başlar.


Çok okuma

Daha Fazla Göster



Daha az belirti





Ve son olarak, NMBL aracılığıyla çift tekne senaryosunda başka bir sisteme bir çevre de var. Bu amaçla, NMBL tarafından üretilen bir EFI tekne girişi, EFI değişkeni “bootnext” i yeni bir yolla önyüklenebilir bir ikili olarak ayarlamayı ve ardından sistemi yeniden başlatmayı amaçlamaktadır. Bu yol, kendilerinin geçerli güvenli tekne imzaları olmayan önceden tanımlanmış sistemlerin başlatılabileceği avantajına sahiptir. NMBL aracılığıyla bir önyükleme girişi yalnızca güvenilir sistemi oluşturabildiğinden ve daha sonra önyükleme yapabildiğinden – güvenli önyüklemeden güven zinciri korunacaktır.

Donanım veya ağ görüntülerinin gerçek işletim sistemini başlatmak için başlatma aşamasında daha fazla hazırlığa ihtiyacı varsa, NMBL'den ikinci bir önyükleme yöntemi geleneksel bir yaklaşımla kalır. NMBL başlangıçta Minimal Çekirdek ve Grub 2 tarzında küçük bir kullanıcı alanı ile ilk Ramdisk'i önyükledi, bu da gerçek önyükleme girişleri için düzenlenebilir bir menü gösterebilir ve daha sonra seçilen sistemi KEXEC üzerinden yükleyebilir. Buradaki avantaj hala bir önyükleme yükleyiciden kaçınıyor, çünkü menü ekranı dahil tüm bu adımlar Linux çekirdeğini tek bir imzalı UKI'nin kendisini yapıyor.

Zayıf nokta: hatalı UEFI uygulamaları


NMBL şu anda hala GitHub'da bir önizleme sürümü olarak ((https://github.com/rhboot/nmbl-poc/)) bu yaklaşımın akla yatkınlığını kanıtlamak istemektedir. NMBL'den gelen bu ilk pratik gösteriler için seçilen Linux sistemi Fedora Linux'tur. NMBL komut dosyaları, standart paket kaynaklarından olağan araçlarla ilk ramdisk oluşturmak için Dracut'ta modüller olarak bağlayıcıdır. Ancak, Linux çekirdeği bu şekilde başladı, Kexec'in başlaması gerekiyordu.

Bunun başarılı olması için bir çekirdek yaması da gereklidir. NMBL ile diğer deneyler başlangıçta Fedora alanında kalacaktır, böylece geliştiriciler standart çekirdekleri için doğru yamaları koruyabilir. Geçen yılın yazından itibaren LWN projesinin ilk sunumunda, geliştiriciler ayrıca testlerinin şimdiye kadar büyük ölçüde temiz bir UEFI uygulaması olan sanal makinelerde gerçekleştirildiğini vurgulamaktadır. Deneyim, gerçek donanımın her zaman iyi ve öngörülebilir olmadığını göstermiştir. UEFI sürümlerinde, bir dizi hataya dayanıklı ürün yazılımı, standartlardan sapan bir davranış gösterir.

Geçen yıl NMBL'yi eleştiren Lennart Poettering de bu sorunu gösteriyor: Donanım seviyesindeki istenmeyen etkilerin çoğu ilk başlatma ile karşı karşıya. Bu nedenle Systemd Boat ile yaklaşımı, çekirdek seçimi ve ilk ramdisk seçimi için bir menü göstermek için mümkün olduğunca az ücret alacak kadar yeterlidir. Öte yandan NMBL, tüm bunları tamamen yetiştirilen, kullanılmış Linux çekirdeği ve bir ramdisk ile yapmak zorundadır, bu da görüşüne göre EFI girişleri için basit önyükleme yükleyicisini kullanmaktan daha fazla çaba anlamına gelir.


(Nen)