Category Archives: 64bit

>Pardus günleri iyiye gidiy…

>

Pek çok arkadaş bu iyiye gidiy muhabbetini merak ediyor(Saçma buluyor olabilir). Şu video linki ile muhabbeti bilmeyenleri bilgilendirmek isterim.

http://www.youtube.com/watch?v=Eciwebcba48

Peki pardus günlerinde ilk gün geçti. Güzel bir kalabalık vardı, Pardus standı etrafında kalabalık yogun olarak gözledim(Bir grup şeker ve katalog alarak geçti).

Stand etrafında gezindim, birilerin fotoğraf makinasını ele geçirdiğimde bir kaç poz çektim. Kendi adıma zevkli bir gündü. Seminerlerde gözlemlediğim birşey ise sorular sorulmasıydı. Bu da daha ilgili bir topluluk olduğunu gözlemledim.

Yarın 12.40 sunumumuz var herkesi bekleriz. Umarım terletecek sorular sorulmaz 🙂

>Lib64 sorunsalı…

>

Linux bilgisi olan mutlaka lib dizinleri ile karşılaşmıştır iyi ya da kötü şekilde. Burada paylaşımlı olarak kullanılan kütüphanelerin derlenmiş halleri bulunur. Programlar çalışırken de bunları isterler ararlar. Kendi içerisinde bir linklenme vardır yani…


Peki nedir bu lib64 muhabbeti?

x86_64 işlemciler kendi üzerinden x86 mimarisine de destek verdikleri için, x86_64 bir işletim sisteminde 32bitlik kod çalıştırılabilir.(Tabi ki çekirdeğin bu çevirme işi için açık olması gerekmektedir.) 32 Bit derlenmiş programlar için dizin hiyerarşisinde ise lib32 dizinleri oluşmuştur. 64 bit derlenen kütüphaneler içinse (programın derlenme şekline göre değişebiliyor tabi) lib64 dizinine konuluyor. Sonuçta elimizde 3×2 lib dizinimiz olur. Biri kökte, diğeri ise /usr altında. Peki ya elimizde hiç 32 bitlik paylaşımlı kütüphane olmayacaksa (şu anki kurumsal 2 x86_64 gibi)?

Burada bir çözüm olarak lib64 dizinlerini lib dizinine linklemek en basit ve en mantıklı çözüm gibi geldi bize. Neden bu linke ihtiyacımız var sorusuna gelecek olursak; belirli programların lib64 e ihtiyaç duyması ve araması. Hatta bu lib64 sorunu yüzünden bir süre kurulan cd hazırlayamadık.


Peki bu linki kaldırmak mümkün değil mi?

Tabi ki mümkün, tool chain’i düzenlemek gerekiyordu. Burada yapılanlar tabi ki 32bit’lik halini etkilemeyecek şekilde olması gerekiyor. Bunu Onur Küçük bir hafta sonunda yaptı. Diyecek bir söz bırakmadı 🙂 Ancak her paket bu yöntem izlenemiyor. Çünkü ati’nin ekran kartı gibi sürücüleri istediği gibi at koşturabiliyor hala…

>fPIC…

>

Sanki uzun zaman oldu blog girdisi yapmayalı diyerek bir giriş yapmış bulunayım 🙂 Bir süredir Necdet Yücel tarafından sıkça “Blog yazın….” çağrılarına cevap vermek istedim.

Girdi konusu olarak da bir süre önce Gökmen Görgen ile konuştuğumuz bir konu olan fPIC olmasını tercih ettim. Neden olduğunu ise not olarak koyacağım. Konuyu daha çok dağıtmadan bi giriş yapayım konuya,

Nereden geldi bu fPIC?

fPIC ile karşılaşmam ilk olarak 64bit için paketleri hazır hale getirirken karşılaştım. Derleme sırasında aldığım hata ise;
“relocation R_X86_64_32 against `a local symbol’ can not be used
when making a shared object; recompile with -fPIC .libs/assert.o: could not
read symbols: Bad value”

Oradaki 32’yi görünce kıllanıyor tabi insan. Güzelce derle şunu diyesi geliyor insanın, yoksa hata GCC de mi diye düşünebiliyor insan 😉 Peki ufak bir araştırmadan sonra sorunu gördük ki paylaşımlı kütüphaneler için oluşturulan nesnelerin düzgün şekilde linklenebilmesi için -fPIC parametresi ile derlenmesi gerekiyormuş. Tabi ki sorunun çözülmüş oldu.

Kendisi bi gcc bayrağıdır. “Position-Independent Code”un kısaltılmasıdır. Türkçe’ye çevirdiğimizde konum bağımsız kod oluyor herhalde 🙂 PIC, çıkan ikilik dosyanın belirli bir taban adresine yüklenmesini beklemez, bellekteki herhangi bir yerde mutlu olmayı bilir anlamına geliyor 😉
Kendisi i686 mimarisinde kullanıldığında bir fark oluşturmadığı söyleniyor. Bilemiyorum nedir, ne değildir. Ancak x86_64 mimarisi için daha yavaş çalıştığına dair rivayetler dolaşıyor. Alpha, SPARC64 ve iirc HP-PA mimarileri içinde gerekli olduğundan bahsi geçiyor.

Daha ayrıntılı bakmak isteyenler için :

http://www.technovelty.org/code/c/amd64-pic.html
http://en.wikipedia.org/wiki/Position-independent_code
http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3
http://www.redhat.com/archives/fedora-maintainers/2005-August/msg00094.html

Not: Herhangi bir yerde hata görürseniz bildirmekten çekinmeyin. Herkes herşeyi bilemez sonuçta 😉

>1 şubat

>

Uzun çalışmamız ürünü olan pardus kurumsal 2 64 bit pardus alfa sürümü çıktı. Uzun günler boyunca çalıştık, sorun çözdük hep beraber(Pardus ekibine yardımları için çok teşekkür ederiz) ve ilk kurulan cd’miz artık hazır. Tabi ki içerisinde hatalar olabilir sonuçta alfa sürümü 😉 Hataları bildirmekten çekinmeyiniz, yardım etmekten ise hiç çekinmenize gerek yok tabi ki.

Bu sürüm’ü kuracak ve kullanacak olan tüm arkadaşlara sesleniyorum, güle güle kullanın. Çalışmaya devam edeceğiz yakından takip ediniz;)

ps: bir iki link vermeden bu yazıyı sonlandırmak gereksiz olacağı için,

Şurada ilk alfa sürümümüz : http://members.comu.edu.tr/nyucel/Pardus-C2-x86_64-alfa.iso
Burada da depomuz : http://x86-64.comu.edu.tr/pisi-index.xml.bz2
Bu da sha1sum’ı tabiki : http://members.comu.edu.tr/nyucel/Pardus-C2-x86_64-alfa.iso.SHA1SUM

>Dayanılmaz sona yaklaşırken…

>

Başlıktan pek bir şey anlaşılmasa da son gelişmeler hakkında ekipteki herkes bir şeyler yazdı.[0][1][2] Bu konu hakkında bir iki satır karalama ihtiyacı hissettim bende.

Uzun bir süredir sıkı çalıştığımızı bilmeyen kalmadı herhalde ancak meyvelerini toplamaya başladık. İlk meyve olarak chroot olduğumuz zaman aldık(Ekip dışında bulunanları pek az tat veren ilk meyveydi. Ekip içinde ise ufak bir kutlama havası esmişti). Daha sonra pisi’yi ayağa kaldırdığımızda aldığımız meyve çok tatlıydı(özellikle pisinin yapması gereken her şeyi ellerimizle yapan bizler için. Ekip dışına da tat veren bir meyveydi bu). Daha sonra boot edebilmemiz, şimdi bir masa üstü ortamımız var (en çok sevinen de herhalde links ile pek haşır neşir olan metin oldu diye biliyorum.) Şimdi ise kurulan bir cd için çabalıyoruz. Onu yaptığımızda öncekiler gibi yine çok çalışmanın bir meyvesi ancak hem ekibe hemde Pardus’a gönül verenlere de tat vereceğini düşünüyorum. Bu meyveyi paylaşmaya açığız… Çünkü paylaştıkça artar diye düşünüyoruz.

ps: Daha teknik konularda yazıları [3] wiki sayfamızda bulabilirsiniz…

[0] http://m-akdere.blogspot.com/2009/12/ve-pardus64-uzerinde-masaustu-ortam.html
[1] http://nyucel.blogspot.com/2009/12/64-bit-kurulan-cd-icin-eksik-paket.html
[2] http://meltemparmaksiz.blogspot.com/2010/01/kurulan-cdye-bir-adm-kala.html
[3] http://tr.pardus-wiki.org/Pardus%27un_X86_64-64_Mimarisine_Port_Edilmesi

>64 bit geliyor mu ne?

>

Necdet hocam’ın da yazdığı gibi rootfs yakında yayınlanacak. Bir çok kişinin büyük merakla beklediğini hepimiz biliyoruz. Ancak rootfs sürecinde sadece konsol ekranı olan bir sistem olacak. Bu yüzden gerçekten ne yapacağını bilen arkadaşların rootfs’i denemesini öneriyoruz. Diğer arkadaşların ise bir süre daha sabretmesini içten arzuluyorum.

Diğer arkadaşlara ise rootfs ile iyi eğlenceler diliyorum. Umarım bunun 3 üniversite son sınıf öğrencisinin uzun süreler boyunca çalışarak meydana getirdiği bir sürüm olduğunu unutmazsınız.

Artık bizler daha çok çalışarak alfa için daha uzun bir mesafeyi kat etmemiz gerekiyor. Bize yardımcı olanlara şimdiden teşekkür ederiz.

Not: gelişmeler için bizi takip edin(Necdet Yucel, Metin Akdere, Meltem Parmaksız, wiki).

>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 🙂