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

Başlatan cokomoko, 08 Eylül 2015 - 15:41:48

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

cokomoko

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.



''Eğer 386BSD ben Linux'a başladığımda var olsaydı, Linux büyük bir olasılıkla olmazdı."
........................Linus Torvalds..........................
İnsanın aradığı sadece huzur ve mutluluktur, 1 numara olmak yalnız kalmak demektir ve 1 numara kalmak için birçok şeyi feda etmek zorunda kalırsın...

Reverser

anlatım için teşekkürler, şu live CD olayı aklıma yattı bir ara ben de deneyeceğim.

XFCE ROCKS !
Powered by Thunar & XFWM4