Maemo 5 SDK Kullanımı & XMPlayer derlemek

Maemo 5 - Derlediğim XMPlayer

Maemo 5’i kurcaladınız ve favori uygulamanızı derlemenin hiç de fena bir fikir olmadığını mı düşünüyorsunuz? Sonuçta bu bir GNU/Linux cihazı! Öyle değil mi? Çok da mutlu edici olmayan haber şu ki, cihaz üzerinde bir şeyler derlemek seçebileceğiniz en eğlenceli, kolay veya anlamlı yol olmayabilir. Maemo 5 için geliştirme yapacaksanız, en mantıklı yol yayınlanmış SDKsını GNU/Linux sisteminizde çalıştırmak, gerekli şeyleri de onun üzerinde ayarlamak ve denemektir. Bu yazımda nasıl yapabileceğinizi anlatmaya çalıştım. Adım adım XMPlayer derleyeceğiz.

Öncelikle Maemo’da doğrudan derlemenin neden mantıklı yol ol(a)madığını açıklığa kavuşturmalıyız; Maemo 5, partisyonu boyutlandırmadığınız veya symlink kullanmadığınız sürece rootfs için yaklaşık 200 küsür megabyte alan bırakmıştır. 32 Gigabyte hafızanın içinde bu kadar az alan verilmesinin sebebiyse, performans sebebiyle-yani sanıyorum mantıklı tek sebebi bu olmalı- rootfs’in ayrı bir çipte bulunmasıdır. İşte bu boyut sınırlaması yüzünden, Maemo’da bazı GNU araçları da dahil olmak üzere “ortalama kullanıcı” ya hitap etmeyecek özellikler devredışı bırakılmış ya da varsayılan olarak sisteme entegre gelmemiştir. Bunlardan birinin de automake olduğunu söylersem, kabuğun da Bash değil Busybox olduğunu söyleyerek devam edersem sorunu anlayabilirsiniz.

Tabii ki Maemo için imkansız diye bir şey yok, ve kendiniz bash ve GNU araçlarını kurabilirsiniz, ancak bunu yapmak zaten kolayca dolan rootfs’i hızlıca dolduracaktır, ya da uzun süren bir symlink, ya da ayrı PATH belirleme gibi zahmetli işlerle uğraşmak zorunda kalacaksınız. Eğer tüm bunlara rağmen uğraşmak istiyorsanız, SDK deposunda gerekli uygulamaların ARMEL paketlerinin olduğunu söyleyebilirim, ancak biz bu yazıda o yolu kullanmayacağız. Ayrıca cihaza chroot yapmak da bir yol olabilir ancak  yine çok mantıklı sonuçlar beklememelisiniz.

Istediğimiz uygulamayı derleyemediğimize göre, ARMEL için derlemeyi yapacağımız bir platform gerekli. İşte SDK da bu noktada devreye giriyor. Scratchbox üzerinde Maemo 5’i “canlandırarak” ARMEL için gerekli derlemeleri yapabiliyoruz. Bu yazımda XMPlayer’ı derlemeyi göstereceğim, neden XMPlayer derseniz, extras-devel’de hali hazırda bulunan tek xm oynatıcısı MODSupport, ve medya oynatıcıyla gömülü olarak çalışmak konusunda ısrarcı. Bu da tüm cracktrolarınızın müziklerinizle aynı listeye girmesiyle, sayıca da çoklarsa medya veritabanını yavaşlattıkça yavaşlatan bir durum oluşturuyoe ne yazık ki. PCsinde bile müzik oynatıcısıyla XM oynatıcısı ayrı olan biri olarak, XMPlayer bir hayat kurtarıcı. Dikkat etmeniz gereken, XM yerine başka bir şey derlediğinizde, derlediğiniz uygulamanın mutlaka ama mutlaka /opt/ yolunu kullanmasını garantiye almanızdır. Aksi durumda rootfs’i hızlıca doldurur ve sorun yaşarsınız.

Ben SDKyı hazırladıktan 24 saat bile  geçmeden kurucunun GUIli halini Wiki’de gördüm, eğer onu kullanmak isterseniz bağlantısı şöyle: http://wiki.maemo.org/Documentation/Maemo5_Final_Installation. Biz elle kurulum yapacağız. Öncelikle ihtiyacımız olan dosyaları indirmeliyiz:

$ wget http://repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.sh http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh

Indirdikten sonra, betiği çalıştırılabilir işaretlememiz gerekiyor, bunun için de:

$ chmod a+x ./maemo-scratchbox-install_5.0.sh  ./maemo-sdk-install_5.0.sh

Şimdi scratchbox’u kurabiliriz, bunun için:

$ sudo ./maemo-scratchbox-install_5.0.sh -u KULLANICIADINIZ

Bu işlem başladığında 400 megabyte kadar bir veri indirilecektir. Scratchbox, eğer parametrelerde değişiklik yapılmadıysa kendini kök klasörde /scratchbox dizinine yükleyecektir.

Şimdi sbox adında  bir grup oluşturmalıyız.

$ newgrp sbox

Eğer bu gruba üyeler eklemek istiyorsanız, “useradd -G sbox kullanıcıadı” komutunu deneyebilirsiniz. Şimdi Scratchbox’un üzerine SDKmızı giydiriyoruz:

$ ./maemo-sdk-install_5.0.sh

Varsayılan olarak gelen seçenek işe yarıyor, Minimal + Runtime olması yeterli. Bir sürü paket indirip kuracak. Bu paketlerin hiç biri aslında kurulmadığından heyecan yapmayın, şuan aslında tamamen “başka bir dünyada” kurulum yapmış oluyoruz. Artık başlayabiliriz:

$ /scratchbox/login

Karşımıza şöyle bir çıktı gelmiş olmalı:

Welcome to Scratchbox, the cross-compilation toolkit!

Use ‘sb-menu’ to change your compilation target.
See /scratchbox/doc/ for documentation.

[sbox-FREMANTLE_ARMEL: ~] >

Eğer burada ARMEL yerine X86 yazıyorsa, sb-conf select FREMANTLE_ARMEL komutu işimizi görecektir. Buradaki dosyalara, /scratchbox/users/kullanıcıadı/home/kullanıcıadı konumundan ulaşabiliriz. Buraya SourceForge’dan xmp3.0.0’ı indirip kopyalıyoruz. Ardından tek yapmamız gereken şey, size oldukça tanıdık gelecek:

chmod +x configure

./configure

make

Sonuçta oluşan xmp isimli binary dosyası ARMEL için derlenmiş olacaktır, tek yapmamız gereken bunu almak ve N900’e yüklemek, ve ta daa, orada da aynı şekilde çalışıyor olacak. Tek farkı, dosyayı MyDocs’da değil, /home/user’a alıp orada çalıştırmalıyız, zirâ MyDocs no-exec şeklinde mount edildiğinden dosya çalıştıramazsınız. Yani basitçe diyebiliriz ki:

mv xmp /home/user

chmod +x xmp

./xmp -l /home/user/MyDocs/xmuziklerininolduguyer/CooLBiRGRuPISMI – Parca.xm

Elbette SDKnın tüm gücü basit bir mimari oyunu değil, bu sadece çok basit bir faydasını görmek içindi. SDKya Nokia ikili dosyalarını kurduktan sonra, burada geliştirme, paketleme, yerelleştirme yapmanız, hatta arabirimi kurcalamanız mümkün. Maemo SDKsı, Fremantle’ı olan çocukların takıldığı bir kum havuzu gibi.

$ chmod a+x ./maemo-scratchbox-install_5.0.sh  ./maemo-sdk-install_5.0.sh

2 yorum yapılmış

  1. DEB Paketleme olayı o kadar basit değil, deb dosyalarını Ark benzeri bir GUI sıkıştırıcıyla açabilirsiniz ama içindekileri değiştirip tekrar paketleyemezsiniz, md5sum kontrolleri falan var. packages.maemo.org da source dosyaları oluyor açık paketlerin, onları indirip orada değişiklik yapıp paketlemeniz mantıklı olur, ya da DEB paketini sıkıştırıcıyla açıp, içinde data.tar.gz ‘den verileri alıp kendiniz tekrar paketleyebilirsiniz.

    Maemo paketleme dökümanı (İngilizce): http://wiki.maemo.org/Maemo_packaging

  2. Hocam bir şey soracağım maemo ya başladım kubuntu kurdum herhangi bir n900 .deb dosyasını açıp içinde düzeltmeler yada değiştirmeler yapıp tekrar kurmak istiyorum teheme dosyaları olabilir mesala bunu kubuntu üzerinde nasıl yaparım konsol kodları nelerdir.

Yorum Yazın