Öğleden sonra filan bilgisayarcı bir arkadaşa uğradım. Mağazası var, işleri sürekli büyütüyor. Şimdi amacı, "markalı" bilgisayar satmak. Kendi markasını yaratmaya çalışıyor.
Doğal olarak ilk muhabbet işlemciler üzerine döndü; AMD, 3 çekirdekli Phenom işlemcilerle nereye oturacak, yani Quad Core Intel Core’a kafa tutabilir mi, yoksa ancak Intel Core Duo ile mi kapışır, ya da yeni nesil 8 çekirdekli Intel işlemciler nasıl bir performans gösterecek…
Sonra ekran kartlarına girdik; uzun zamandır ilgilenmediğim bir konu olduğu için pek fikir yürütemedim. 8800 GT çıkıyormuş, hatta belli başlı firmalar bağlantıları yapmışlar, falan filan.
Elbette konu kaçınılmaz olarak Linux’a, Pardus‘a, Pozitif Linux’a ve elbette 32 bit-64 bit dağıtımların kıyaslanmasına geldi.
Arkadaşım iyi bir OEM dağıtım aradığını söyledi; "bulursan bana da haber ver" dedim. Azıcık şaşırdı; çünkü bu konu hakkında derin bir bilgisi yok. Özellikle driver desteğinden ve Linux dağıtımlarının açılış sürelerinin uzunluğundan yakındı. Fazla vaktim olsaydı, bir hayli anlatacaktım ama neredeyse üç gündür uyumadığımdan ve dışarıda çay içemediğimden eve dönmek zorunda kaldım.
OEM dağıtımdan kastı şuydu aslında: bir laptop ya da hazır/markalı/toplama bilgisayara kurduğunda, tüm donanımı algılayıp driver’ları yükleyecek, sorunsuz çalışacak ve sistem de hızlı açılacak.
Bu pek de olası birşey değil. Aslında olası; birileri 30-40.000 dolar verirse(!) bu işi yaklaşık 1 senede rahat rahat halledebilirim. Bu noktada biraz tipik problemlere bakmak gerek.
Dünyada OEM dağıtım hazırlayan vendor’lar var; bunlardan en bilineni şüphesiz Canonical, yani Ubuntu. Dell ile ballı bir anlaşma yaptılar. Şimdilik, ucuz Dell dizüstü ve masaüstü makinalar artık Ubuntu Linux ile geliyorlar. Hatta Micheal Dell’in kendisi de Ubuntu kullandığını söylemiş. Bilemem; tek bildiğim Micheal Dell’in de, Mark Shuttleworth’un da pazarlama dahileri oldukları.
SUSE (Novell) de, sanırım IBM (artık Lenovo) için dağıtım hazırlıyor. Herkesin derdi aynı; kurulum hızlı ve sorunsuz olsun, sistem hızlı açılsın…
Türkiye’de Armador Bilişim bunu Crea ve Datron markaları ile yapıyor. Ama şu sıralar çıkan Datron’lar Freedos yüklü geliyorlar. Eskiden Datron Turkix ile geliyordu, zaman zaman yerden yere vurulan ve adı hiç anılmayan
Emre Sokollu’nun projesi. Pardus’tan seneler önce, Turkuaz’dan seneler sonra çıkmasına rağmen, ilk dağıtım Pardus’muş gibi bir hava var.
Gelecek Linux ise nedense bu alana girmedi, neden girmediğini de merak ederim. Doğrusunu isterseniz, nasıl ayakta kalabildiklerine de şaşıyorum. Herhalde bunda yapılan eski anlaşmaların önemli payı vardır.
Teorik olarak, sabit bir bilgisayarı (yani donanım aynı kalacak) Linux ile Windows’tan çok daha hızlı açmak, hatta masaüstünü bile daha hızlı çalıştırmak mümkün. Üstelik, bunu Attansic gibi ethernet sürücüsü yüklenirken ıslık çalan kernel modülleri ile başardım. Ama en ufak birşeyi değiştirirseniz, sistem boot etmeyecek, kernel panic verecek.
Linux yüklü bir bilgisayarı hızlı açmak için yapılması gereken bir dizi iş var. Sağdaki soldaki iddiaların aksine, InitNG, Upstart (artık Ubuntu ile standart geliyor) gibi init sistemleri mucize filan yaratmıyor. Bazı akıldışı rakamlar veriliyor ama, bu sayılar başlangıçta birçok servisin başlatılmamasından kaynaklanıyor. Eh, yazıcıyı taktığınızda çalışmıyorsa, bluetooth servisini elle başlatıyorsanız, bunun hiçbir kıymeti yok. Çünkü saydığım şeyleri Windows ve Mac OS X zaten yapabiliyor otomatik olarak. Kısacası, bunlar gerçek hayatta işe yaramayan basit hilelerden ibaret.
Hızlı açılan sistem için, basit olarak şunlar gerekli:
-Gereksiz tüm fazlalıkları atılmış ve doğru şekilde derlenmiş minik bir kernel. Eğer sabit bir sistemi 1-1.2 MB üzerinde bir kernelle açmaya çalışıyorsanız, bunu bir OEM Linux dağıtıcısı olarak yapıyorsanız, siz bu işi bilmiyorsunuz.
-Bunu embedded sistemlerde yapıyorum, OEM sistemlerde de yapmak mantıklı geliyor: kernel çıktılarını ekrana basmamak. 1 saniyeye yakın faydasını gördüm (sisteme bağlı olarak)
-Bazı log servislerini kapatmak. Bu hem daha hızlı bir masaüstü, hem daha iyi açılış süresi demek.
-Hızlı bir dosya sistemi. Tercihim Ext2 olur. Şu an bütün disklerim, sistemin bulunduğu partition hariç, XFS.(Son baktığımda XFS’i kernele gömülü olarak derleyemiyorsunuz, bu yüzden sistemi XFS bir partitiondan açmak olası değildi) Bazılarında bir ReiserFS fanatikliği olsa da, inanılmaz derecede yavaş.
-Burası en önemli kısmı: son derece iyi optimize edilmiş bir initramfs. Eğer OEM bir Linux dağıtımı yaptıysanız ve initramfs 4 MB’dan büyükse, initramfs’in ne olduğu hakkında bile bilginiz yok! 2.5-3.5 MB arası ise daha yolunuz var. Çoğu sistemi 2 MB civarı initramfs ile açmak mümkün. Bu aşamada çok zaman kaybı oluyor, çünkü CPIO arşivi olan initramfs’i açmak en iyi işlemciyi bile süründürüyor (boru değil, neredeyse 3-3.5 kat sıkıştırma var ve bahsettiğim dosyaların çoğu kolay sıkışan metin bazlı dosyalar değiller)
-Aşırı optimize edilmiş init scriptleri. Burası da mayın tarlası; ama aynı zamanda optimize edilmiş bir Linux sisteminde bile en az 5-6 saniye kazanabilirsiniz.
-"Hardcore" diyebileceğim compiler switch’ler ile, minimum yeterlilikte derlenmiş bir busybox ya da muadili. Şansınız varsa, 1 saniye kazanabilirsiniz.
-Elbette X ve startkde scirpti de, son aşamada sistem açılışının hızını etkiliyor.
Daha abartılı yöntemler de var; bunlardan biri LinuxBIOS. Linux kernelini BIOS’a yazıyorsunuz. Yalnız boyut sınırlaması dışında, desteklenen anakartların sayısı da çok ama çok az. Sadece embedded X86 geliştiricileri için önerebileceğim, sofistike, zor ve sorunlu bir uygulama.
Gelgelelim, üzerinde Ubuntu çalışan Dell dizüstü ve masaüstü makineleri çok merak ediyor ve incelemek istiyorum; çünkü yapılan optimizasyon düzeyini merak ettim. Henüz gerçek anlamda belli bir donanım platformu için optimize edilmiş bir dağıtım da görmedim.
Bu konuya daha sonra devam edeceğim ve özellikle 32-64 bit konusuna biraz değinmek amacındayım. Merak ettiklerinizi yorum olarak yazarsanız, ikinci yazıda bu konulara ağırlık veririm ve daha yararlı olur.
Popularity: 7% [?]




Twix, tüm tembellik ve isteksizliğime rağmen yol almaya devam ediyor. Az önce, saatlerce konsantre olmaya çalıştıktan sonra zar zor 40-50 satır yazabildim. Network fonksiyonları bitmiş ve yeterli gibi duruyorlar; wizard kısmı hariç. Bugünkü konu, görüntü ile ilgiliydi. Ekran kartı bilgilerini (üretici,chipset,ram,VGA BIOS, geçerli çözünürlükler,mevcut çözünürlük, gamma,vs) gibi bilgileri toplayan bir fonksiyon yazdım. Geriye güç yönetimi ayarları kaldı temel olarak. Bundan sonra, xorg.conf’u yazıp değiştiren bir fonksiyon yazacağım. Bu basit; zira temel olarak network fonksiyonlarından kopya çekeceğim yazdırma-değiştirme işlemi için. Bir de, xorg.conf’a eklenebilen bazı ek ayarları yazan bir fonksiyon yazmam gerek;örneğin Pardus’da olan ve hiç tasvip etmediğim VTSwitch ayarını eklemek gibi. Bayramdan önce bu modülü çalışır halde yayınlayıp, diğer modüllerin nasıl görünmesi gerektiği konusunda referans olarak kullanmak niyetindeyim. (Açıkçası, güzel bir sayfa tasarımı yapmak en büyük sıkıntım)