November | 2009 | {Yaratıcı Bir Başlık}

Monthly Archives: November 2009

>Yaşıyor, yaşıyor, yaşıyor…. Pisi yaşıyor…

>

Bilindiği üzere Pardus 64 üzerinde uğraşıyorduk(biraz çok uğraşıyorduk gerçi:), pek az bir şey yazmış olabilirim kendi adıma… Ama gecelere kadar çalıştık pisi’nin bağımlılıkları ile haşır neşir olduk(şimdi paket yöneticisini daha bi sevmiyor değilim)

Tüm paketleri ellerimizle derledik, linkledik, non-shared lib’leri kaldırdık…(birazcık cinnet geçirdik gerçi bağımlılıklarla ) Ancak sonunda şu çıktıyı almak bu zahmete ve zamana değdi galiba 🙂

root@pardus64 /#pisi rm libsigsegv

Safety switch: the component system.base cannot be found

The following minimal list of packages will be removed

in the respective order to satisfy dependencies:

libsigsegv

Removing package libsigsegv

Running pre removal operations for libsigsegv

Running post removal operations for libsigsegv

Removed libsigsegv

root@pardus64 /# pisi it libsigsegv-2.6-3.pisi

Installation order: libsigsegv

Installing libsigsegv, version 2.6, release 3, build None

Extracting the files of libsigsegv

Configuring libsigsegv package

Configured libsigsegv

Installed libsigsegv

Şimdi azıcık paket yapmak gerekiyor galiba 🙂

>Make’i make yaparken make’in istediğin gibi make olması…

>

Biraz karmaşık bir başlık gibi gelebilir ancak işin bir kısmını özetliyor bu cümle…

Çünkü derleme işlemlerinde gcc, glibc, binutils, make (genel olarak) kullanarak ikili dosyaları oluşturuyoruz. Üzerinde çalıştığımız sistem için gcc, glibc, binutils ve make’i derleyip kuruyoruz. Bunun için iç içe bir bağımlılık oluşuyor… Elimizdeki araçları istediğimiz şekilde derlenmiş ve istediğimiz şekilde derleme yapmasını istiyoruz(Biraz karışık oldu galiba:).

Chroot yapabildiğimiz sistemde gerekli olan paketleri gerektiği şekilde (ki bu clfs kitabında geçen şekildeydi) derledik. Bu sayede elimizde saf bir temel linux sistemimiz oldu. Bu sistemin üzerinde Pardus’un kendi kullandığı yamalar, derleme parametreleri ile derleyerek Pardus’daki sistemi elde etmek istiyoruz. Mantıklı olarak ancak işte döngüye burada giriyoruz…

Bu sırada ilk derlemeler sonunda aslında tam da istediğimiz sistemin, istediğimiz araçlarlar derlenmemiş olduğunu gördük bugün acı bir şekilde…

İstediğimiz sistemi oluşturabilmek için derleme araçlarının (ki en temel ihtiyaçlardır kendileri) istenilen araçlar ile derlenmiş şekilde olması gerekiyor…

Çember şekilde (bu çembere ufak bağımlılıkları da ekleyerek) kernel-headers -> glibc -> gmp -> zlib -> binutils -> gcc -> make -> kernel-headers… devam eden derlemeler yapmamız gerekiyor. bu çemberi ne zaman kıracağımızı bizde pek bilmiyoruz. (n ->∞ olmaması ümidini taşıyoruz…)

Daha ayrıntılı bilgi için şuralara bakabilirsiniz: Meltem Parmaksız, Metin Akdere, Serhat İrem Ersel, Necdet Yücel, Pardus-Wiki

>64’bit pardus yolunda giderken belgelendirme…

>

    Uzun süren çalışmalarımızdan haberdar olan insanlar hani belgeler nerede diye soruyordu. Sevgili Necdet Yücel hocamın isteği ile yavaştan(!) tr.pardus-wiki.org adresinde yaptıklarımızı yazmaya başlayacağız inşallah 🙂 Meltem, metin ve ben ara ara zaman bulduğumuzda buradaki belgeyi güncellemeye çalışacağız. Kendisi burada.

Not: Biraz anlaşılmaz terimler kullanabiliriz dikkatli olun:)

>Belirli bi konuma geldik. Yazmak gerek…

>

   Uzun bir zamandır yoğun bir çalışma süreci içerisinde olduğumuz için pek bir blog girdisi yapamıyordum. Yaklaşık olarak 1 aydır Pardus’un x86_64 portunu hazırlamaya çalışıyorduk.

Başlangıçta Pardus 2008 üzerinde çapraz derleme ile 64 bit olarak başladığımız ve üzerinde chroot yapacağımız sistem için uzun saatler geçirdik. Chroot’da bir takım sorunlar yaşadık ve 2008’den 2009’a geçildiği haberi ile beraber bizde yeni yönümüzü o tarafa çevirdik. 2008’de bir kısmını öğrendiğimiz süreci daha hızlı bir şekilde ilerletebildik. Ancak hedef olarak chroot dan boot edilebilir bir sisteme çevirdik. Bu süre zarfında clfs belgesini takip ettik, sürümler arası farklara bakarak yamalar bulduk, bir kısmını kendi aramızda tartışarak değiştirdik, derlenmeyen araçlar için çince bile okuduk. (google translate’e teşekkürü bir borç biliriz.) Çekirdek derledik, nasıl derlememiz gerektiği konusunda biraz tartıştık. Pardus’un kullandığı çekirdeği ve config dosyasını biraz değişiklik yaparak kullandık. (debian ve ubuntu gibi dağıtımların 32bit ve 64bit çekirdek config’lerinden yola çıkarak.) İnitramfs oluşturmak için uzun süredir çabalıyorduk. Coolplug isimli pardus teknolojisi biraz uğraştırdı bizi gerçi. Derlemek için elimizde olan çapraz derleme yapabilen gcc kullanmıştık. Hata almadığımız için oldu herhalde demiştik. Ancak coolplug’ı initramfs de çalışmadığını gördüğümüzde klibc’yi sistem için derlesek mi acaba diye düşünmeye başladık. Ancak çapraz derleme yapabilmesini sağlayabilmemiz için elle tutulur bir belge bulamadığımız için 64bit olan debian 5 üzerinde klibc – klcc kurduk (libklibc-dev paketinden geliyor klcc) ve coolplug’ı derledik. İnitramfs’in içerisine dahil ettik. Boot sırasında bu seferde en azından coolplug çalıştığını gördük. Ancak sabit diski göstermeyi başaramadık. Coolplug’dan kaynaklı bir sorun olduğunu düşündüğümüz için ve daha fazla motivasyon kaybetmemek için (tek bir noktada takıldığımız için elimiz kolumuz bağlanmış durumdaydık.) Bu yüzden hızlı bir şekilde cumartesi akşamı alternatif yol olarak chroot değerlendirdik.(debian 5 – 64bit üzerinde) Ufak bir sorun yaşadık. Ancak lib64 -> lib’e kopyaladık.(bir birlerine döngü olarak linklendiğini gördük ihtiyaç duyduğu kütüphaneyi ve o da lib64 içinde bulduk.) ve chroot yaptık sorunsuz bir şekilde. Vatana millete hayırlı olsun.