8 Aralık 2016 Perşembe

Coreboot ve Libreboot'u Derleyip Sanal Ortamda Test Etmek

   Önceki yazımda coreboot ve libreboot'un tanımını yapmıştım.  Şimdi ise bu yazılımları nasıl indireceğinizi, derleyeceğinizi ve test edeceğinizi anlatacağım. Bunun için bilgisayarımızda bir linux dağıtımının olması gerekmekte, ben Trisquel kullandım . Coreboot ile başlayalım...

İlk önce Coreboot için gerekli olan kütüphane ve araçları kuralım :

  
sudo apt-get install -y git libncurses5-dev m4 bison flex zlib1g-dev
 

Coreboot kaynak kodunu indirelim:

 
git clone http://review.coreboot.org/coreboot
 

İşlem bittikten sonra klasörümüze girelim:

cd coreboot
 

Coreboot araçlarını derleyelim:

Bu işlem uzun biraz uzun sürecek.
 
make crossgcc-i386 CPUS=$(nproc) 
 

Payload'ı derleyelim:

Payload coreboot açıldıktan sonra hangi yazılımı çalıştıracağıdır. 
Biz coreinfo adlı payloadı derleyeceğiz
 
make -C payloads/coreinfo olddefconfig
make -C payloads/coreinfo 

 Anakart ayarlarımızı yapalım:

 
make menuconfig 
Bu işlemden sonra grafik ortamına geçiş yapıyoruz ok tuşları yönlendirme enter tuşu ile seçim yapabilirsiniz.
 
   Mainboard'a girin
   Mainboard vendor olarak (Emulation) seçili olmalı 
   Mainboard model olarak QEMU x86 i440fx/piix4 seçili olmalı
   exit'ı seçin
   
   Payload'a girin
   Add a Payload'a girin
   An Elf executable payload'ı seçin
   Payload path and filename'a girin
   payloads/coreinfo/build/coreinfo.elf yazın
   2 kere exit'ı seçip yes diyin
 
Ayarlarımızı kontrol edelim
make savedefconfig
cat defconfig 
 
Aşağıdaki şekilde iki satır var ise doğru yoldasınız demektir:
 
CONFIG_PAYLOAD_ELF=y
CONFIG_PAYLOAD_FILE="payloads/coreinfo/build/coreinfo.elf"

 Artık Coreboot'u derleme vakti geldi:

make

derleme sonucunda Build emulation/qemu-i440fx (QEMU x86 i440fx/piix4) 
şeklinde bir sonuç karşınıza çıktıysa derlemeniz başarılı olmuş demektir.
 
Coreboot derlendi fakat bunu günlük hayatta nerede kullanacağız?

Bunun için qemu adlı emülatörü indiriyoruz:

 
sudo apt-get install -y qemu 
 

Emülatörümüz kurulduktan sonra sıra geldi denemeye:

 
qemu-system-x86_64 -bios build/coreboot.rom -serial stdio
 

Coreboot'u derledik ve denedik şimdi geçelim Libreboot'a

İlk önce libreboot'un son stable versiyonunu romanya aynası üzerinden indirelim. Tarihe göre 
versiyon değişikliliği gösterebilir https://libreboot.org/download/ adresinden hangi versiyonu
ve hangi aynadan indirmek istediğinize karar verebilirsiniz.
wget -r -nH --cut-dirs=3 -P libreboot ftp://ftp.linux.ro/libreboot/stable/20160902/ |mkdir libreboot

indirdiğimiz tar dosyasını açalım ve içine girelim:

 
tar -xf libreboot_r20160902_src.tar.xz
cd libreboot_r20160902_src

Derleme bağımlılıklarını yükleyelim:
sudo ./build dependencies trisquel7 (kullandığınız işletim sistemini yazın trisquel kullanmıyorsanız)
eğer işletim sisteminizi yazdığınızda kabul etmiyorsa genelde yanlış yazıldığı içindir
sudo ./build dependencies list yazarak doğru yazım şeklini bulabilirsiniz.
  

Libreboot için gerekli olan herşeyi derleyelim:

bu işlem en uzun süren işlem biraz sabırlı olmanız gerekmekte 
./build module all

eğer ki bazı modülleri derlemek istemiyorsanız veya hata aldıysanız herhangi bir modülde tek tekde derleyebilirsiniz.
./build module list komutu ile modülleri listeleyip ./build module modül_adı yazarak derleyebilirsiniz
 

Sıra geldi ROM derlemeye:

 
./build roms withgrub yazarsanız tüm romları derlersiniz ve uzun sürer biz sadece qemu ile 
sanal ortamda deneyeceğimiz bir rom istediğimiz için sadece 
./build roms withgrub qemu_i440fx_piix4 yazmamız yeterli 
şimdi sıra geldi oluşturduğumuz rom'u denemeye:
 qemu-system-x86_64 -bios bin/grub/qemu_i440fx_piix4_usqwerty_txtmode.rom -serial stdio
 
İlk açılış esnasında direkt olarak boot etmeye çalışıyor libreboot açılana kadar yukarı aşağı ok tuşuna basmalısınız
Libreboot derlenirken çok fazla hata verebiliyor şahsen ben libreboot dökümanlarına göre yapmama rağmen uzun uğraşlar sonucu derleyebildim. 
Eğer derlemeden libreboot u denemek isterseniz rom klasöründe hazır romları var onları da kullanabilirsiniz
 
cd rom/grub
tar -xf libreboot_r20160902_grub_qemu_i440fx_piix4.tar.xz
cd libreboot_r20160902_grub_qemu_i440fx_piix4
qemu-system-x86_64 -bios qemu_i440fx_piix4_usqwerty_txtmode.rom -serial stdio
 
Bu yazımda Libreboot ve Coreboot u nasıl derleyeceğinizi yazdım. Umarım faydalı olmuştur. 
Herhangi bir hata ile karşılaşırsanız yardımcı olabilirim.
 

Hiç yorum yok:

Yorum Gönder