Cross Compiler

Başlatan Berke Aydın, 01 Ocak 2011 - 17:39:17

« önceki - sonraki »

0 Üyeler ve 4 Ziyaretçi konuyu incelemekte.

Berke Aydın

Kernel derlemeye çalışıyorum. http://forum.ubuntu-tr.net/index.php/topic,24507.0.html
"cross compiler" gerekiyormuş. En az kernel derlemek kadar ayrıntılı bir işlem olduğu için yeni konu açtım.

Ubuntu 10.10 x64 kullanıcısıyım. Yardımcı olabilir misiniz?

risperdal

Şuraya bir göz atmanızı tavsiye ederim.

http://www.gnuarm.com/

Berke Aydın

Yorum için teşekkür ederim. Bu siteye bakmıştım.

Birçok dosya var. Hangisini, nasıl kuracağımı bilmiyorum.

Berke Aydın

Buradaki anlatımı kullanmaya karar verdim http://marcin.juszkiewicz.com.pl/2010/10/19/how-to-cross-compile-arm-kernel-under-ubuntu-10-10/

sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install xdeb
xdeb -aarmel --only-explicit --apt-source linux-linaro

Komutlarını verdim. Buraya kadar hiçbir şey sorun çıkartmadı.

dpkg -l *elf*-armel-cross
Yazdığımda ise "no packages found matching *elf*-armel-cross" çıktısıyla karşılaştım.

Ne yapabilirim?

heartsmagic

Anlatımdan yola çıkıyorum. Orada demiş ki, "eğer bu komu boş dönüyorsa /etc/apt/sources.list dosyanı denetle ve eklenen depunun src olanını da etkinleştir." Kısacaso deb-src ile başlayan depo satırının başındaki # karakterini sil ve depolarını güncelle.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Berke Aydın

Alıntı yapılan: heartsmagic - 06 Ocak 2011 - 02:32:17
Anlatımdan yola çıkıyorum. Orada demiş ki, "eğer bu komu boş dönüyorsa /etc/apt/sources.list dosyanı denetle ve eklenen depunun src olanını da etkinleştir." Kısacaso deb-src ile başlayan depo satırının başındaki # karakterini sil ve depolarını güncelle.

Ne demek istediğinizi anlamadım. Linux'u başlangıç seviyesinde kullanıyorum. Daha basit bir şekilde yapacaklarımı söylerseniz memnun olurum.

sema

Demek istediği şu, şunu aç;

sudo gedit /etc/apt/sources.list

armel-cross ile ilgili ya da hangi depoyu eklemişsen o deponun altındaki dep-src diye başlayan satırın başındaki # işaretini kaldır deniyor. Sonra da şu;

sudo apt-get update

Sonra yeniden dene, yapamazsan şunun çıktısını aktar bize;

sudo gedit /etc/apt/sources.list
susema

Berke Aydın

#deb cdrom:[Ubuntu 10.10 _Maverick Meerkat_ - Release amd64 (20101007)]/ maverick main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://tr.archive.ubuntu.com/ubuntu/ maverick main restricted
deb-src http://tr.archive.ubuntu.com/ubuntu/ maverick main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://tr.archive.ubuntu.com/ubuntu/ maverick-updates main restricted
deb-src http://tr.archive.ubuntu.com/ubuntu/ maverick-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://tr.archive.ubuntu.com/ubuntu/ maverick universe
deb-src http://tr.archive.ubuntu.com/ubuntu/ maverick universe
deb http://tr.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb-src http://tr.archive.ubuntu.com/ubuntu/ maverick-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://tr.archive.ubuntu.com/ubuntu/ maverick multiverse
deb-src http://tr.archive.ubuntu.com/ubuntu/ maverick multiverse
deb http://tr.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
deb-src http://tr.archive.ubuntu.com/ubuntu/ maverick-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://tr.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse
# deb-src http://tr.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu maverick partner
# deb-src http://archive.canonical.com/ubuntu maverick partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu maverick main
deb-src http://extras.ubuntu.com/ubuntu maverick main

deb http://security.ubuntu.com/ubuntu maverick-security main restricted
deb-src http://security.ubuntu.com/ubuntu maverick-security main restricted
deb http://security.ubuntu.com/ubuntu maverick-security universe
deb-src http://security.ubuntu.com/ubuntu maverick-security universe
deb http://security.ubuntu.com/ubuntu maverick-security multiverse
deb-src http://security.ubuntu.com/ubuntu maverick-security multiverse
deb http://repository.glx-dock.org/ubuntu maverick cairo-dock


armel-cross ile ilgili bir şey göremedim.

sema

Kurduğun program hangi depoyu kullanıyor bilmiyorum ama bilmeme de gerek yok, çünkü bütün deb-src'ler de açık durumda şu an. Kurulum da depodan olduğuna göre sorun o değil. Ama ne olduğunu da çıkaramadım. Yalnız şöyle bir şey buldum. İstersen onu deneyebilirsin;

http://labs.igep.es/index.php/How_to_get_the_Ubuntu_distribution#How_to_cross_build_ubuntu_maverick_kernel_from_sources
susema

Berke Aydın

echo "Setting environment for armel cross-compile"
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
export PATH=<path to cross compiler>:$PATH  (set the correct path to cross compiler) 
export DEB_BUILD_ARCH=armel
export DEB_HOST_ARCH=armel


export PATH=<path to cross compiler>:$PATH

cross-compiler'ın yolunu nasıl öğrenebilirim?

sema

susema

Berke Aydın

a) ISEE Kernel (git.igep.es)
source /usr/local/poky/eabi-glibc/environment-setup-arm-none-linux-gnueabi
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- igep0020_defconfig


Bu komutları direk yazınca olmuyor. Neyi değiştirmem lazım?

sema

Bilmiyorum ama birlikte bulmaya çalışabiliriz, biraz deneme biraz yanılma. Çıktısını aktarır mısın;

ls -la /opt

Bu arada, 8. linkte verdiğim bağlantıdan yola çıkalım.
susema

Berke Aydın

"ls -la /opt" komutunun çıktısı;
toplam 12
drwxr-xr-x  3 root root 4096 2010-12-31 19:29 .
drwxr-xr-x 23 root root 4096 2010-12-31 19:23 ..
drwxr-xr-x  3 root root 4096 2010-12-31 19:29 google

sema

Hiçbir şey yok (istediğimiz). Çünkü o sayfaya tekrar bakınca gördüm ki biz direkt derleme işine geçmişiz ama sayfanın üst tarafında da yapılması gerekenler var, oradan başlayıp son istediğim çıktıyı yeniden aktarır mısın, bir de ne karışık bir iştir bu, kafamı çok karıştırdı, yapmak zorunda mısın? Şuradan al ve yeniden dene;

http://labs.igep.es/index.php/How_to_get_the_Ubuntu_distribution#Ubuntu_10.10_.28Maverick_Meerkat.29
susema

Berke Aydın

Anladığım kadarıyla çok yanlış yerlere yönelmişiz. Baştan alırsak;

http://code.google.com/p/jetdroid/wiki/JetKernel
Buradaki kernel'i derleyeceğim. Gayet basit bir şekilde anlatmışlar.
"Kernel building instructions" altındaki her şey sorunsuz yaptım.
2. Aşama yani "Some notes about crosscompilation" kısmını yapamadım...
make CROSS_COMPILE=pathtocc ARCH=arm ... komutunu verdiğimde "derlemek için hiçbir kural yok" diyor.

heartsmagic

CROSS_COMPILE=pathtocc

pathtocc dediği şeyi, 'cros compiler'ın olduğu yol.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sema

#17
İşte bütün mesele o yolu bulabilmekte :) Bu sana sorum olsun, tam yolunu nerden /nasıl bulabiliriz bunun?

Şu da @Berke Aydın'a çözüme dair öneriler olsun (ipucu desek daha doğru olur), birkaç yer söyleyeyim, kontrol et, nerede bulursan, umarım bulabiliriz. Şunların tamamına bak, arm ile kernel ile, arch ile ilgili bulduğun dosyalar /yerler aradığımız şeyler;

Alıntı Yap/usr/local/tools/linux/arm/bilmem_ne _bilmem_ne (usr/bin altına da bak, üstünkörü)
/opt/mips-asm/bin (bu öncekilere dair sanırım ama yine de bak)
/opt/freescale/usr/local/gcc-4.0.2-glibc-2.3.6-sp-nptl-1/powerpc-linux-gnuspe/bin/ (bu da öncekilere dair, bak)

Bir de en başta /opt'un altına bakar mısın, ne var ne yok?
susema

Berke Aydın

Bu kadar karmaşık bir işlem yapmaya çalışıyorum ama ama daha bile dosyaları açamıyorum  :-[

Dediğiniz usr, opt dizinlerinin nerede olduğunu bulamadım...

sema

Dosya Sistemine girmen gerekiyor. Başlangıç Klasörü >> Dosya Sistemin'de belirttiğim dizinler.
susema

Berke Aydın

#20
Bulamadım.
http://i56.tinypic.com/j81ul3.png


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 09 Ocak 2011 - 21:19:02

Belirttiğiniz dizinlerin bazıları "linux-linaro" içerisinde var. Aynı şekilde benim derlemeye çalıştığım "JetKernel" içerisinde de var.

sema

#21
Onların içinde olması bir şey ifade etmez, önemli olan senin bilgisayarına kurulması. Ayrıca sen başlangıç klasörüne bakıyorsun, ben senden dosya sistemine bakmanı istiyorum.

Biraz bakıp denemeye çalıştım. Yükleme sırasında bizden istediği şeyler var, hiçbir sorun çıkarmadı dediğin yerler biraz kafa karıştırıcı açıkçası, tab tuşana basarak önce bazı seçimler yapman gerekiyor. Bunları yaptın mı mesela sen? Şimdi en baştan alalım mümkünse çünkü ben senin ne yaptığını bilmiyorum ve lütfen şunların tamamının çıktısını, eksiksiz olarak aktar. Ayrıca ilk adımlar uzun sürüyor. Baştan alıyoruz;

sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install xdeb
sudo xdeb -aarmel --only-explicit --apt-source linux-linaro

Bu adımlardan ikincisi çok önemli, o seçim ekranında seçmen gerekeni ne olarak belirliyorsun, varsayılan olarak internet konfigürasyon mudur ne, o geliyor, onu seçebiliriz, bir fikrimiz yoksa. Tüm aşamalardan sonra şunun no pacgake çıktısı döndürmemesini bekliyorum.

dpkg -l *elf*-armel-cross

Sonra devam, gördüğün gibi çıktıda dosya ismi senin anadizindekinden farklı. Senin anadizindeki klasörün ismi, linux-linaro. Bunlara dikkat et lütfen. Bu durumda şu;

cd linux-linaro
CROSS_COMPILE=arm-linux-gnueabi- dpkg-buildpackage -b -aarmel

Sonra şunu verdiğinde,

sudo apt-get source linux-source-2.6.35

Anadizine inen dosyanın ismi ne ise ona gideceksin, buna da dikkat etmen gerekiyor, dosya ismine bak ve linux'la başlayan klasörün ismini neyse onu yazacaksın, sonunda 2.6.35 yoksa, onu yazmayacaksın;

cd linux-2.6.35
CROSS_COMPILE=arm-linux-gnueabi- dpkg-buildpackage -b -aarmel

Lütfen takıldığın yerden itibaren çıktıları aktar, sorunsuz gerçekleşen işlemler neler, biz de görelim (bu arada yarın bakabilirim ancak).

Not: Çok söyledim ama bütün, bütün ve bütün çıktıları aktar lütfen :)
susema

burk

Ya merak ettiğim için soruyorum, Ubuntu'da acemi olan biri, çekirdeği nasıl derleyebilir?

Berke Aydın

sudo apt-get install gcc-arm-linux-gnueabi
Çıktısı: Paket listeleri okunuyor... Bitti
Bağımlılık ağacı inşa ediliyor.       
Durum bilgisi okunuyor... Bitti       
gcc-arm-linux-gnueabi zaten en yeni sürümde.
Yükseltilen: 0, Yeni Kurulan: 0, Kaldırılacak: 0 ve Yükseltilmeyecek: 0.





sudo apt-get install xdeb
Çıktısı: Paket listeleri okunuyor... Bitti
Bağımlılık ağacı inşa ediliyor.       
Durum bilgisi okunuyor... Bitti       
xdeb zaten en yeni sürümde.
Yükseltilen: 0, Yeni Kurulan: 0, Kaldırılacak: 0 ve Yükseltilmeyecek: 0.





sudo xdeb -aarmel --only-explicit --apt-source linux-linaro
Çıktısı:Building source package cache ...
Using file security.ubuntu.com_ubuntu_dists_maverick-security_main_source_Sources for apt cache
Using file security.ubuntu.com_ubuntu_dists_maverick-security_restricted_source_Sources for apt cache
Using file security.ubuntu.com_ubuntu_dists_maverick-security_universe_source_Sources for apt cache
Using file security.ubuntu.com_ubuntu_dists_maverick-security_multiverse_source_Sources for apt cache
Using file extras.ubuntu.com_ubuntu_dists_maverick_main_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick_main_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick_restricted_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick_universe_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick_multiverse_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick-updates_main_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick-updates_restricted_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick-updates_universe_source_Sources for apt cache
Using file tr.archive.ubuntu.com_ubuntu_dists_maverick-updates_multiverse_source_Sources for apt cache
Building working tree cache ...
Build sequence: elfutils zlib bzip2 xz-utils linux-linaro*
Installing native packages: []

===== Building linux-linaro_2.6.35-1008.15 =====

dpkg-checkbuilddeps
dpkg-architecture: uyarı: Belirtilen GNU sistem türü arm-linux-gnueabi gcc sistem türüyle eşleşmiyor x86_64-linux-gnu.
debuild --no-lintian -eUSER -eCONFIG_SITE=/etc/dpkg-cross/cross-config.armel -eDEB_BUILD_OPTIONS=nocheck -eGTEST_INCLUDEDIR=/usr/arm-linux-gnueabi/include -eGTEST_LIBDIR=/usr/arm-linux-gnueabi/lib -ePKG_CONFIG_LIBDIR=/usr/arm-linux-gnueabi/lib/pkgconfig:/usr/arm-linux-gnueabi/share/pkgconfig:/usr/share/pkgconfig -aarmel -b -uc -us -tc
dpkg-architecture: uyarı: Belirtilen GNU sistem türü arm-linux-gnueabi gcc sistem türüyle eşleşmiyor x86_64-linux-gnu.
dpkg-architecture: uyarı: Belirtilen GNU sistem türü arm-linux-gnueabi gcc sistem türüyle eşleşmiyor x86_64-linux-gnu.
dpkg-buildpackage -rfakeroot -d -us -uc -aarmel -b -tc
dpkg-buildpackage: uyarı: Root olurken bir gain-root-command kullanmak
dpkg-buildpackage: dpkg-buildflags' tan CFLAGS çıkart (köken: vendor): -g -O2
dpkg-buildpackage: dpkg-buildflags' tan CPPFLAGS çıkart (köken: vendor):
dpkg-buildpackage: dpkg-buildflags' tan CXXFLAGS çıkart (köken: vendor): -g -O2
dpkg-buildpackage: dpkg-buildflags' tan FFLAGS çıkart (köken: vendor): -g -O2
dpkg-buildpackage: dpkg-buildflags' tan LDFLAGS çıkart (köken: vendor): -Wl,-Bsymbolic-functions
dpkg-buildpackage: kaynak paketi linux-linaro
dpkg-buildpackage: kaynak sürümü 2.6.35-1008.15
dpkg-buildpackage: kaynak tarafından değiştirlidi John Rigby <john.rigby@linaro.org>
dpkg-architecture: uyarı: Belirtilen GNU sistem türü arm-linux-gnueabi gcc sistem türüyle eşleşmiyor x86_64-linux-gnu.
dpkg-source --before-build linux-linaro
dpkg-buildpackage: sunucu mimarisi armel
fakeroot debian/rules clean
rm -rf /home/berke/linux-linaro/debian/build/modules /home/berke/linux-linaro/debian/build/firmware \
/home/berke/linux-linaro/debian/build/kernel-versions /home/berke/linux-linaro/debian/build/package-list \
/home/berke/linux-linaro/debian/build/debian.linaro
mkdir -p /home/berke/linux-linaro/debian/build/modules/armel/
cp debian.linaro/d-i/modules/* /home/berke/linux-linaro/debian/build/modules/armel/
mkdir -p /home/berke/linux-linaro/debian/build/firmware/armel/
cp debian.linaro/d-i/firmware/* /home/berke/linux-linaro/debian/build/firmware/armel/
cp debian.linaro/d-i/package-list debian.linaro/d-i/kernel-versions /home/berke/linux-linaro/debian/build/
touch /home/berke/linux-linaro/debian/build/modules/armel/kernel-image
# kernel-wedge needs to poke around in debian.linaro/
ln -nsf /home/berke/linux-linaro/debian /home/berke/linux-linaro/debian/build/debian
# Some files may need to differ between architectures
if [ -d debian.linaro/d-i/modules-armel ]; then \
    cp debian.linaro/d-i/modules-armel/* \
/home/berke/linux-linaro/debian/build/modules/armel/; \
fi
if [ -d debian.linaro/d-i/firmware-armel ]; then \
    cp debian.linaro/d-i/firmware-armel/* \
/home/berke/linux-linaro/debian/build/firmware/armel/; \
fi
# Remove unwanted stuff for this architecture
if [ -r "debian.linaro/d-i/exclude-modules.armel" ]; then \
    (cat debian.linaro/d-i/exclude-modules.armel; \
     ls /home/berke/linux-linaro/debian/build/modules/armel/) | sort | uniq -d | \
(cd /home/berke/linux-linaro/debian/build/modules/armel/; xargs rm -f); \
fi
if [ -r "debian.linaro/d-i/exclude-firmware.armel" ]; then \
    (cat debian.linaro/d-i/exclude-firmware.armel; \
     ls /home/berke/linux-linaro/debian/build/firmware/armel/) | sort | uniq -d | \
(cd /home/berke/linux-linaro/debian/build/firmware/armel/; xargs rm -f); \
fi
# Per flavour module lists
flavour_modules=`ls debian.linaro/d-i/modules.armel-* 2>/dev/null` \
|| true; \
if [ "$flavour_modules" != "" ]; then \
    for flav in $flavour_modules; do \
name=`echo $flav | sed 's/.*\/modules.armel-//'`; \
mkdir /home/berke/linux-linaro/debian/build/modules/armel-$name;\
(cd /home/berke/linux-linaro/debian/build/modules/; tar cf - `cat ../$flav`) | \
    (cd /home/berke/linux-linaro/debian/build/modules/armel-$name/; tar xf -); \
touch /home/berke/linux-linaro/debian/build/modules/armel-$name/kernel-image; \
    done; \
fi
flavour_firmware=`ls debian.linaro/d-i/firmware.armel-* 2>/dev/null` \
|| true; \
if [ "$flavour_firmware" != "" ]; then \
    for flav in $flavour_firmware; do \
name=`echo $flav | sed 's/.*\/firmware.armel-//'`; \
mkdir /home/berke/linux-linaro/debian/build/firmware/armel-$name; \
(cd /home/berke/linux-linaro/debian/build/firmware/; tar cf - `cat ../$flav`) | \
    (cd /home/berke/linux-linaro/debian/build/firmware/armel-$name/; tar xf -);\
touch /home/berke/linux-linaro/debian/build/firmware/armel-$name/kernel-image; \
    done; \
fi
# Some files may need to differ between flavours
flavour_module_dirs=`ls -d debian.linaro/d-i/modules-armel-* 2>/dev/null`\
|| true; \
if [ "$flavour_module_dirs" ]; then \
    for flav in $flavour_module_dirs; do \
name=`echo $flav | sed 's/.*\/modules-armel-//'`; \
[ -d /home/berke/linux-linaro/debian/build/modules/armel-$name ] || \
    cp -a /home/berke/linux-linaro/debian/build/modules/armel \
modules/armel-$name; \
cp $flav/* /home/berke/linux-linaro/debian/build/modules/armel-$name/; \
    done; \
fi
flavour_firmware_dirs=`ls -d debian.linaro/d-i/firmware-armel-* 2>/dev/null`\
|| true; \
if [ "$flavour_firmware_dirs" ]; then \
    for flav in $flavour_firmware_dirs; do \
name=`echo $flav | sed 's/.*\/firmware-armel-//'`; \
[ -d /home/berke/linux-linaro/debian/build/firmware/armel-$name ] || \
    cp -a /home/berke/linux-linaro/debian/build/firmware/armel \
firmware/armel-$name; \
cp $flav/* /home/berke/linux-linaro/debian/build/firmware/armel-$name/; \
    done; \
fi
# Remove unwanted stuff for each flavour
flavour_exclude=`ls debian.linaro/d-i/exclude-modules.armel-* 2>/dev/null`\
|| true; \
if [ "$flavour_exclude" ]; then \
    for flav in $flavour_exclude; do \
name=`echo $flav | sed 's/.*\/exclude-modules.armel-//'`;\
[ -d /home/berke/linux-linaro/debian/build/modules/armel-$name ] || \
    cp -a /home/berke/linux-linaro/debian/build/modules/armel \
/home/berke/linux-linaro/debian/build/modules/armel-$name; \
(cat $flav; \
ls /home/berke/linux-linaro/debian/build/modules/armel-$name) |\
sort | uniq -d | \
    (cd /home/berke/linux-linaro/debian/build/modules/armel-$name/; \
     xargs rm -f); \
    done; \
fi
flavour_exclude=`ls debian.linaro/d-i/exclude-firmware.armel-* 2>/dev/null`\
|| true; \
if [ "$flavour_exclude" ]; then \
    for flav in $flavour_exclude; do \
name=`echo $flav | sed 's/.*\/exclude-firmware.armel-//'`;\
[ -d /home/berke/linux-linaro/debian/build/firmware/armel-$name ] || \
    cp -a /home/berke/linux-linaro/debian/build/firmware/armel \
/home/berke/linux-linaro/debian/build/firmware/armel-$name; \
(cat $flav; \
ls /home/berke/linux-linaro/debian/build/firmware/armel-$name) | \
sort | uniq -d | \
    (cd /home/berke/linux-linaro/debian/build/firmware/armel-$name/; \
     xargs rm -f); \
    done; \
fi
if [ ! -d /home/berke/linux-linaro/debian/build/modules/arm ]; then \
mkdir -p /home/berke/linux-linaro/debian/build/modules/arm; \
cp /home/berke/linux-linaro/debian/build/modules/armel/* \
/home/berke/linux-linaro/debian/build/modules/arm; \
fi
if [ ! -d /home/berke/linux-linaro/debian/build/firmware/arm ]; then \
mkdir -p /home/berke/linux-linaro/debian/build/firmware/arm; \
cp /home/berke/linux-linaro/debian/build/firmware/armel/* \
/home/berke/linux-linaro/debian/build/firmware/arm; \
fi
cp debian.linaro/control.stub debian/control.stub
cd /home/berke/linux-linaro/debian/build && kernel-wedge gen-control > /home/berke/linux-linaro/debian/control
Use of uninitialized value $builddep in split at /usr/share/kernel-wedge/commands/gen-control line 32, <KVERS> line 2.
Use of uninitialized value $builddep in split at /usr/share/kernel-wedge/commands/gen-control line 32, <KVERS> line 3.
Use of uninitialized value $builddep in split at /usr/share/kernel-wedge/commands/gen-control line 32, <KVERS> line 4.
dh_testdir
dh_testroot
dh_clean
# d-i stuff
rm -rf debian.linaro/d-i-armel
# normal build junk
rm -rf debian.linaro/abi/2.6.35-1008.15
rm -rf /home/berke/linux-linaro/debian/build
rm -f /home/berke/linux-linaro/debian/stamps/stamp-*
rm -rf debian.linaro/linux-*
# This gets rid of the d-i packages in control
cp -f debian.linaro/control.stub debian.linaro/control
cp debian.linaro/changelog debian/changelog
# Install the copyright information.
cp debian.linaro/copyright debian/copyright
debian/rules build
Preparing linaro-mx51...
install -d /home/berke/linux-linaro/debian/build/build-linaro-mx51
touch /home/berke/linux-linaro/debian/build/build-linaro-mx51/ubuntu-build
[ "false" != 'true' ] && true || \
rsync -a --exclude debian --exclude debian.master --exclude debian.linaro --exclude debian.linaro * /home/berke/linux-linaro/debian/build/build-linaro-mx51
cat /home/berke/linux-linaro/debian.linaro/config/config.common.ubuntu /home/berke/linux-linaro/debian.linaro/config/armel/config.common.armel /home/berke/linux-linaro/debian.linaro/config/armel/config.flavour.linaro-mx51 | sed -e 's/.*CONFIG_VERSION_SIGNATURE.*/CONFIG_VERSION_SIGNATURE="Ubuntu 2.6.35-1008.15-linaro-mx51 2.6.35.7"/' > /home/berke/linux-linaro/debian/build/build-linaro-mx51/.config
find /home/berke/linux-linaro/debian/build/build-linaro-mx51 -name "*.ko" | xargs rm -f
make ARCH=arm EXTRAVERSION=-1008-linaro-mx51 CONFIG_DEBUG_SECTION_MISMATCH=y SUBLEVEL=35 KBUILD_BUILD_VERSION="15" LOCALVERSION= localver-extra= O=/home/berke/linux-linaro/debian/build/build-linaro-mx51 silentoldconfig prepare scripts
make[1]: Entering directory `/home/berke/linux-linaro'
make[3]: `/home/berke/linux-linaro/Makefile' için hiçbir şey yapılmadı.
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/basic/hash
  GEN     /home/berke/linux-linaro/debian/build/build-linaro-mx51/Makefile
  HOSTCC  scripts/kconfig/conf.o
/home/berke/linux-linaro/scripts/kconfig/conf.c: In function 'conf_askvalue':
/home/berke/linux-linaro/scripts/kconfig/conf.c:105: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result
/home/berke/linux-linaro/scripts/kconfig/conf.c: In function 'conf_choice':
/home/berke/linux-linaro/scripts/kconfig/conf.c:307: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result
  HOSTCC  scripts/kconfig/kxgettext.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf -s arch/arm/Kconfig
#
# configuration written to .config
#
  Using /home/berke/linux-linaro as source for kernel
  GEN     /home/berke/linux-linaro/debian/build/build-linaro-mx51/Makefile
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  Generating include/generated/mach-types.h
  CC      kernel/bounds.s
cc1: error: unrecognized command line option "-mlittle-endian"
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mno-thumb-interwork"
/home/berke/linux-linaro/kernel/bounds.c:1: error: unknown ABI (aapcs-linux) for -mabi= switch
/home/berke/linux-linaro/kernel/bounds.c:1: error: bad value (armv5t) for -march= switch
/home/berke/linux-linaro/kernel/bounds.c:1: error: bad value (armv5t) for -mtune= switch
make[5]: *** [kernel/bounds.s] Hata 1
make[4]: *** [prepare0] Hata 2
make[3]: *** [sub-make] Hata 2
make[2]: *** [prepare] Hata 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/berke/linux-linaro'
make: *** [/home/berke/linux-linaro/debian/stamps/stamp-prepare-tree-linaro-mx51] Hata 2
dpkg-buildpackage: hata: debian/rules build gave error exit status 2
debuild: fatal error at line 1337:
dpkg-buildpackage -rfakeroot -d -us -uc -aarmel -b -tc failed
Traceback (most recent call last):
  File "/usr/bin/xdeb", line 851, in <module>
    main()
  File "/usr/bin/xdeb", line 843, in main
    build(options, src, all_srcs[src])
  File "/usr/bin/xdeb", line 597, in build
    spawn(buildpackage, cwd=srcdir)
  File "/usr/lib/xdeb/utils.py", line 29, in spawn
    raise SubprocessException, ret
utils.SubprocessException: 29

Hata verdiği için işleme devam etmedim.




Alıntı yapılan: TORUNAGA - 10 Ocak 2011 - 01:40:34
Ya merak ettiğim için soruyorum, Ubuntu'da acemi olan biri, çekirdeği nasıl derleyebilir?
Ubuntuyu sırf çekirdeği derlemem gerektiği için kurdum. Daha önce hiç kullanmamıştım...

sema

Nerde bug var, bizi bulur. Sorun çıkarmış demek ki üst taraflardaki ilk denediğin komutlar, onlar olmadan da sonraki aşamalara geçip beyhude uğraşmışız. Hata kayıtlarına baktım konu ile başlıkların, net bir çözüm bulamadım, daha doğrusu çözüm bulamadım. Konuya da çok yetkin değiliz, istersen bunu bırakıp başka bir paket üzerinde çalışalım. Bunun için yüklediğin programları yeniden kaldır ve başka bir çekirdeğin linkini bul/ver, birlikte kurmaya çalışalım ama öncesinde biraz daha araştır, hem sorun çıkarmasın hem de isteklerine yanıt versin.
susema