Maceraya hazır mısın! bir BSD almaz mısın?

Duyuru
* Forum tasarımımız yenilendi.
* FreeBSD 10.4 - RELEASE Final çıktı.
* FreeBSD 11.1 - RELEASE Final çıktı.
Son Mesajlar
Çevrimiçi (0)

[Nasıl] Linux Grub'a Zfs'li Freebsd, Pcbsd ve İso Kalıp Dosyası Ekleme

Bu anlatımı 1 ay önce yapacaktım ama fırsat bu güne denk geldi. Artık internette fazla aktif olamadığım şu dönemlerde bazen arada Linux'u bilhassa Arch'ı karıştırıyorum, bazen de Pcbsd'yi. Karıştırmak hoşuma gidiyor uçuk bazı düşüncelerimi boyuna deniyorum, çoğunda da başarılı sonuçlar alıyorum, sonuç alamadıklarımı ise bilindik forumlara yazıyorum
cevap gelirse ona göre yeni denemelerle sonuca ulaşıyorum.
Pcbsd grub'una tüm sistemi ekleyebiliyordum ama iş linux dağıtımlarının grub'una gelince zfs'li bir Freebsd veya Pcbsd eklenemiyordu, bunun yerine ufs'li Freebsd veya Pcbsd eklenebiliyordu.Ben ise sıklıkla Arch'ı kullandığımdan ve tüm işlerimi onun üzerinden halletmek istediğim için iki de bir sda'daki Pcbsd grub'a geçip oradan Zfs'li-Bsd tarafına geçmek
istemiyordum.Bir şekilde Zfs'li Pcbsd'yi sdb'deki Arch grub'a eklemem lazımdı, her iş tek elde olduğunda büyük kolaylık oluyordu, sonra baktım /boot/grub/i386-pc altında zfs.mod var, o zaman bir şekilde eklenmesi lazımdı.
─[cokomoko]──[cokomoko]:/boot/grub/i386-pc$
└──>>ls zfs*

zfscrypt.mod  zfsinfo.mod  zfs.mod

Bir iki deneme yaptım olmadı, sonra Pcbsd grub.cfg dosyasındaki şu satırları kopyalayıp,
menuentry "PCBSD-ZFS-Normal Bootup" --class pcbsd --class os --group group_/dev/sda3 {
	savedefault
	insmod zfs
	set root='(hd0,3)'
	search --no-floppy -s -l tank
	kfreebsd /ROOT/default/@/boot/kernel/kernel 
	kfreebsd_loadenv /ROOT/default@/boot/device.hints
	kfreebsd_module /ROOT/default/@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
	set kFreeBSD.vfs.root.mountfrom=zfs:tank/ROOT/default
	kfreebsd_module_elf /ROOT/default/@/boot/modules/nvidia.ko
	kfreebsd_module_elf /ROOT/default/@/boot/modules/vboxdrv.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/drm.ko
	kfreebsd_module_elf /ROOT/default/@/boot/modules/vboxguest.ko
	kfreebsd_module_elf /ROOT/default/@/boot/modules/vboxvideo.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/crypto.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/aesni.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/geom_eli.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/zfs.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/fuse.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/opensolaris.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/tmpfs.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/linux.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/geom_journal.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/geom_mirror.ko
	kfreebsd_module_elf /ROOT/default/@/boot/kernel/ums.ko
	set kFreeBSD.bootfile="kernel"
	set kFreeBSD.kernel="kernel"
	set kFreeBSD.kernel_options=""
	set kFreeBSD.kernelname="/boot/kernel/kernel"
	set kFreeBSD.module_path="/boot/kernel;/boot/modules"
	set kFreeBSD.vfs.zfs.arc_max="1024M"
	set kFreeBSD.kern.ipc.shmseg="1024"
	set kFreeBSD.kern.ipc.shmmni="1024"
	set kFreeBSD.kern.maxproc="10000"
	set kFreeBSD.legal.intel_ipw.license_ack="1"
	set kFreeBSD.legal.intel_iwi.license_ack="1"
	set kFreeBSD.legal.realtek.license_ack="1"
	set kFreeBSD.hint.acpi_throttle.0.disabled="1"
	set kFreeBSD.machdep.disable_mtrrs="1"
	set kFreeBSD.kern.geom.eli.visible_passphrase="2"
	set kFreeBSD.kern.cam.scsi_delay="500"
	set kFreeBSD.hw.memtest.tests="0"
	set kFreeBSD.kern.vty="vt"
	set kFreeBSD.kern.geom.label.gptid.enable="0"
	set kFreeBSD.kern.geom.label.disk_ident.enable="0"
	set kFreeBSD.kern.geom.label.ufsid.enable="0"
	set kFreeBSD.hw.pci.do_power_nodriver="3"
	set kFreeBSD.grub.platform="$grub_platform"
	set kFreeBSD.kern.geom.eli.passphrase="$pass"
}
Arch'daki /etc/grub.d/40_custom dosyasına ekledim.
Siz set root='(hd0,3)' yerine Pcbsd veya Freebsd'nin olduğu bölümü yazacaksınız, mesela  sda2'de ise o zaman set root='(hd0,2)' olacaktı.Sonra grubu güncelledim ve zfs'li Pcbsd açıldı, aynı şekilde Pcbsd grubundaki diğeraçılış parametrelerini(single user mode, vesa mode vs.) de Arch gruba ekleyip açabilirsiniz, onları da denedim sorunsuz açılıyorlar.
Böylece artık tüm sisteminizi Linux dağıtımlarının grubuna da ekleyip açabilirsiniz, bu sorun ortadan kalkmış oldu.

 ................................................

Diğer bir konu da Parted Magic, Kali, Clonezilla,Slax ve Backbox gibi live cd'leri gruba ekleyip, cd veya usb'den açmakla uğraşmadan hdd'deki iso dosyasından açmak, bu yazdığım live cd'ler herkesin bir şekilde işine yaramıştır, her zaman usb veya cd'de bir kenarda durur. Ama ben şöyle bir düşündüm usb veya cd ile neden uğraşayım direk iso dosyasını
gösterip açılış sağlanamazmıydı?
Sorularıma cevabı Arch wiki'de buldum tabi wiki'de esas konu multiboot usb yapımı ama ben bunu gruba uyarladım ve şu an yukarıda bahsettiğim live cd'leri direk grub'a ekleyip açmak mümkün.
Öncelikle https://wiki.archlinux.org/index.php/Multiboot_USB_drive.html adresine mutlaka bakın, şimdi bilindik bir iki live cd'yi grub'a ekleyelim, yine /etc/grub.d/40_custom dosyasına ekliyoruz
menuentry "Parted Magic 32Bits-2015"  --class recovery {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /2015-İSO/pmagic_2015_05_04.iso
linux (loop)/pmagic/bzImage iso_filename=/2015-İSO/pmagic_2015_05_04.iso edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 vmalloc=384MiB tr_TR
initrd (loop)/pmagic/initrd.img
}
menuentry "Parted Magic 64Bits-2015" --class recovery {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /2015-İSO/pmagic_2015_05_04.iso
linux (loop)/pmagic/bzImage64 iso_filename=/2015-İSO/pmagic_2015_05_04.iso edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 vmalloc=384MiB tr_TR
initrd (loop)/pmagic/initrd.img
}
menuentry "slax-Turkish-7.0.8-x86_64.iso" --class gnu-linux {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /İSo/slax-Turkish-7.0.8-x86_64.iso
linux (loop)/slax/boot/vmlinuz vga=normal load_ramdisk=1 prompt_ramdisk=0 printk.time=0 slax.flags=perch,xmode
initrd (loop)/slax/boot/initrfs.img
}
menuentry "Kali Live (amd64-pae)" --class gnu-linux {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /İSo/kali-linux-1.0.8-amd64.iso
linux (loop)/live/vmlinuz boot=live findiso=/İSo/kali-linux-1.0.8-amd64.iso noconfig=sudo username=root hostname=kali
initrd (loop)/live/initrd.img
}
menuentry "Kali Live (amd64-pae failsafe)" --class gnu-linux {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /İSo/kali-linux-1.0.8-amd64.iso	
linux (loop)/live/vmlinuz boot=live findiso=/İSo/kali-linux-1.0.8-amd64.iso config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
initrd (loop)/live/initrd.img
}
menuentry "Kali live-forensic" --class gnu-linux {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /İSo/kali-linux-1.0.8-amd64.iso
linux (loop)/live/vmlinuz boot=live findiso=/İSo/kali-linux-1.0.8-amd64.iso noconfig=sudo username=root hostname=kali noswap noautomount
initrd (loop)/live/initrd.img
}
menuentry "Kali Install" --class gnu-linux {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /İSo/kali-linux-1.0.8-amd64.iso
linux (loop)/install/vmlinuz findiso=/İSo/kali-linux-1.0.8-amd64.iso cdrom-detect/try-usb=true vga=788 quiet
initrd (loop)/install/initrd.gz
}
menuentry "clonezilla-live-2.3.2-22-i686-pae.iso" --class gnu-linux {
set root='(hd0,13)'
search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE
loopback loop /2015-İSO/clonezilla-live-2.3.2-22-i686-pae.iso
linux (loop)/live/vmlinuz findiso=/2015-İSO/clonezilla-live-2.3.2-22-i686-pae.iso toram=filesystem.squashfs boot=live union=overlay username=user config components noswap edd=on nomodeset noprompt nosplash locales= keyboard-layouts= ocs_live_run=ocs-live-general ocs_live_extra_param= ocs_live_batch=no gfxpayload=1024x768x16,1024x768 ip=frommedia i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.blacklist=yes
initrd (loop)/live/initrd.img
}

Buradaki set root='(hd0,13)' yazdığım kısma siz iso dosyasının olduğu bölümü yazacaksınız, örneğin sda2'de ise iso dosyası o zaman set root='(hd0,2)' olmalı, search --no-floppy --fs-uuid --set=root 7E29687F2B3A4FFE satırındaki 7E29687F2B3A4FFE kısmına siz iso dosyasının bulunduğu bölümün uuid'ini yazacaksınız, bölümün uuid'ini de sudo blkid komutuyla öğrenebilirsiniz.loopback loop /2015-İSO/clonezilla-live-2.3.2-22-i686-pae.iso kısmına iso dosyasının bulunduğu
konumu yazacaksınız, aynı şekilde iso_filename=..., findiso=..., kısımlarına da iso dosyasının olduğu yeri yazacaksınız.Bundan sonra grubu güncelleyin.Sistemi yeniden başlatınca grub'tan istediğiniz live cd'yi seçip kullanın.

Grub'u nasıl bu hale getirdiğimi ve diğer sistemlerin ikonlarını nasıl gruba ekleyip gösterdiğimi ve birçoğunu daha ayrıntılı yazmak isterdim ama fazla zamanım yok şu günlerde.Vakit bulursam yazacağım daha çok konum ve okumam gereken şeyler var.

Ha bu arada Burg, Zfs'li sistemleri desteklemiyor ama live cd'leri Burg'a eklemeniz mümkün.

fotoraf0422.jpg
fotoraf0420.jpg
fotoraf0419.jpg

Yorumlar

  • Arayıpta bulunamayacak kadar değerli bilgiler bunlar, Katkı için eline sağlık cokomoko ::D)

    Maceraya hazır mısın?  Bir BSD almaz mısın!
  • Rica ederim bir şekilde bu can sıkıcı sorunun çözülmesi lazımdı, daha önce grubu fazla karıştırmamıştım yoksa ben gibi çoklu önyükleme yapan kullanıcılar bu kadar sorun yaşamazdı, artık bu sorun da hallolduğuna göre her sistem ve live cd iso kalıbı tek bir grub'ta toplanabilir, fakat burg ve diğer açılış yöneticileri için aynı şeyi söylemek şu an mümkün değil. Burg'ta maalesef zfs.mod dosyaları yok, ama ilerde eklenebilir veya dışardan müdahalenizle bu sorun da çözülebilir diye düşünüyorum, fakat diğer açılış yöneticilerini denemedim gummiboot, lilo falan.
Yorum yapmak için Oturum Açın yada Kayıt Olun .