GRUB2 önyükleme menüsüne FreeBSD ekle


11

MBR sürücümde Grub2 ile Gentoo x64 yüklü. Bugün FreeBSD x64 9.2'yi kurdum. Şimdi Gentoo'dayım ve FreeBSD'yi grub2menü listesine eklemeye çalışıyorum .

grub2-install /dev/sda
os-prober
grub2-mkconfig -o /boot/grub2/grub.cfg

Yukarıda Gentoo üzerinde yaptım ve FreeBSD bulamadı. FreeBSD iç içe bölüm açıktır sda1ve içerir freebsd-ufsve freebsd-swapbölümler.

FreeBSD'yi nasıl ekleyebilirim grub2?

Yanıtlar:


9

İşte benim:

menuentry "FreeBSD" --class freebsd --class bsd --class os {
 insmod ufs2
 insmod bsd
 set root=(hd0,1)
 kfreebsd /boot/kernel/kernel
 kfreebsd_loadenv /boot/device.hints
 set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s1a
 set kFreeBSD.vfs.root.mountfrom.options=rw
 set kFreeBSD.hw.psm.synaptics_support=1
}

1
os-prober ile mi ürettiniz yoksa kendiniz mi yaptınız. ayrıca bu direktif hangi dosyaya girdi?
r004

sda1 ne anlama geliyor hd0,1? grub2'nin 1 değil 0'dan başladığı doğru mu?
r004

2
Hayır, bu / otomatik olarak oluşturulmaz. /Etc/grub.d/40_custom
uzsolt

1
Evet, (hd0,1) sda1'dir.
uzsolt

freebsd / dev / sda1 içinde ancak sda1 bir bölme dilimi (bsd terminolojisine göre); ve bir /ve swapbölüm içerir . O zaman nasıl önce gelmeliyim?
r004

4

Amacım: /etc/grub.d içinde 40_custom düzenleyerek Grub2'den FreeBSD 10'u önyükleme

Kurulumum: FreeBSD10, sistemimin beşinci hdd'sinde (Linux altında / dev / sde, Grub2 için hd4. Grub2 hd altında sürücüler için hd0'dan ve sıfırdan değil 1 ve on'dan bölümler) unutmayın. Kök bölüm, yükleme sırasında (en basit) FreeBSD'nin Kılavuzlu bölümlemesini (tüm diski kullan) kullandığımdan ikincisidir (/ dev / sde2). Hatırlatarak, beşinci hdd ve 2. bölüm için root = '(hd4,2)' ayarlayınız.

info: (chainloader +1 aslında gerekli değil! Aşağıdaki beni doğrudan FreeBSDs Bootloader'a getiriyor).

Biraz özetlemek gerekirse: set root = (x, x) 'i adapte etmelisiniz, başka bir şeye gerek yok. Çekirdeği doğrudan önyüklemek istiyorsanız, işler aşağıdaki girişten biraz daha karmaşık hale gelir.

menuentry "FreeBSD 10.0" {
    insmod part_gpt
    set root='(hd4,2)'
    kfreebsd /boot/loader
}

Ben sadece '/ dev / sde2 üzerinde bilinmeyen linux dağıtımı' bulunan os-prober tarafından biraz hayal kırıklığına uğradım

ps: daha sonra 'güncelleme-grub' ve Taddaa (umarım) unutmayın. :) Eğer biri başarılı olursa, bana bir mesaj at, senden haber almaktan mutluluk duyarım!


gpt bölme tablosu için iyi
r004 19:14

Nedir insmod part_gpt?
kimse

2

Bu sırayla yapın:

  1. Düzenleyin /etc/grub.d/40_customve eklenti uzsolt direktifleri . Yönergeyi dosyanın sonuna ekleyin . Orada olan hiçbir şeyi silmeyin .

  2. 40_customYürütülebilir olduğundan emin olun . Eğer değilse chmod u+x 40_custom.

  3. Şimdi bunu değişiklikleri yazmak için yapın grub.cfg.

    grub2-install /dev/sda 
    os-prober 
    grub2-mkconfig -o /boot/grub/grub.cfg
    
  4. Tada! Şimdi yeniden başlat; GRUB menüsündeki OS listenizde FreeBSD olmalıdır.

UFS bölüm diliminize erişmek için aşağıdakileri yapmanız gerekir:

  1. Eklemek için çekirdek yapılandırmanızı düzenleyin UFS filesystemve UFS label.

  2. Sonra make && make_modulesçekirdeğiniz.

  3. UFS dosya sistemi yazılımını yükleyin .

  4. UFS Slice'ınızı Linux'unuzun altına yerleştirin:

    sudo mkdir /mnt/freebsd && sudo mount -r -t ufs -o ufstype=ufs2 /dev/sda1 /mnt/freebsd
    

2

Bu siteye göre :

  1. Linux'u başlatın.
  2. Bir /boot/grub2/custom.cfgdosya oluşturun .
  3. Bu satırları oluşturulan dosyaya ekleyin:

    menuentry "FreeBSD" {
    set root='(hd0,3)'
    kfreebsd /boot/loader
    }
    

    burada hd0,3bunun ilk sabit sürücü olduğu ve FreeBSD'nin üçüncü bölümünde olduğu anlamına gelir (diskler 0'dan ve bölümler 1'den numaralandığından). Muhtemelen bu sayıları ayarlamanız gerekecektir. Disklerinizin ne olduğunu bulmanın bir yolu da çalıştırmaktır fdisk -l.

  4. Koş grub2-mkconfig -o /boot/grub2/grub.cfg.

Komutlarınızın biraz farklı olabileceğini unutmayın. grub2-mkconfigolabilir grub-mkconfigve benzeri (Bu BunsenLabs Linux benim durumumdu).


Bu makinede ZFS yerine UFS ile FreeBSD kullandığımı unutmayın. Sunulan çözüm, duyduğumdan ZFS tabanlı kurulumlar için çalışmıyor.


1

Arch Linux Wiki aynı için çok güzel bir açıklaması var. Zincirleme gibi normal işletim sistemi yüklemesi gibi normal yolu yönlendirir.

Ancak, sudo grub-mkconfig -o /boot/grub/grub.cfgdeğişiklik yapmak için yayınlamayı unutmamak gerekir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.