Linux Çekirdek (Kernel) Derleme

Bu yazı Mesih Veysi Kılınç kardeşimin (Hocamın) GTÜ’de bizi kırmayıp, vakit ayırıp, verdiği “Çekirdek Derleme” eğitiminden aldığım notların sistematik bir derlemesidir.

Gömülü sistem, linux tariflerini yapmadan. Neden Linux, Neden işletim sistemi sorularına cevap vermeden hemen işe koyulalım ve toolchain diyerek başlayalım.

Toolchain Yükleme,  11.02.19

Toolchain Araç zinciri bize hedef sistem için kod derlememizi sağlayan bir derleyici. Fakat bu derleyiciyi hedef sistemde değilde Host (kendi bilgisayarımızda) çalıştıracağımız için bunun bir adıda cross compailer oluyor.

Toolchain indirilebilecek siteler:

  • https://www.linaro.org/
  • https://toolchains.bootlin.com/

Toolchain nasıl bulunur ?

Toolchain için elinizde bulunan boardın işlemci modeli ni öğrenin (örn: ARM Cortex A7 ) : https://en.wikipedia.org/wiki/ARM_architecture#Cores sitesinden Mimariyi bulunuz (Örnek sonucu: ARMv7-A) sonra ise web sayfasından o mimariyi seçin.

m, eabi, abi, hf gibi ekler anlam ifade ediyor. Eğer seçenekleriniz var ise ayrıntılı öğrenmekte fayda var.

Derlemeyi yapacağımız bir ana klasör oluşturalım ve içine toolchain isimli bir klasördaha oluşturalım.

mkdir /opt/cekirdegim
chmod 777 /opt/cekirdegim
mkdir /opt/cekirdegim/toolchain

Şimdide toolchaini indirelim :
cd /opt/cekirdegim
wget https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf–glibc–stable-2018.11-1.tar.bz2

Ve zipten çıkaralım.
tar -xjf armv7-eabihf–glibc–stable-2018.11-1.tar.bz2

Derleyiciyi PATH e ekleyim ki gcc çağrısını yapabiliyor olalım
PATH=/opt/cekirdegim/toolchain/armv7-eabihf–glibc–stable-2018.11-1/bin:$PATH

derlemek için git ile u-boot reposunu indirelim:

git clone https://github.com/u-boot/u-boot.git -b v2019.01 –depth 1

v2019.01 : branch tag name, yani o branchi indiriyor.
–depth sayesinde sadece o commiti indirmiş tüm ağacı indirmemiş oluyoruz.

executablenin hangi sistem için derlendiğini görebilirsiniz.

Uboot Derleme

Devam edeeceğiz

Ubuntu/Linux Mint’te LAMP kurulumu

Bu kurulum Ubuntu 12.04 LTS ve Linux Mint 15 sürümlerinde denenmiştir

Lampserver:

1. Uçbirimi açıyoruz. sudoapt-getinstalllamp-server^

2. indirmeyi başlatmak için “y” diyoruz.

Phpmyadmin:

1. Uçbirimi açıyoruz. sudoapt-getinstallphpmyadmin 1. indirmeyi başlatmak için “y” diyoruz.

2. Otomatik ayarlama için http sunucusu seçmemiz isteniyor (alternatifler) :Nginx (engine-x, njinx), apache ve Lighttpd (lighty);

3. Komut satırında kontrolü etkinleştirilsin mi?(Configuredatabaseforphpmyadminwithdbconfig-common?) Yes

4. Şifre phpmyadmin için:

5. Mysql için pasword:

6. Pasword kontrol: tekrar gir:

7. Do thisfirst: sudogedit /etc/apache2/apache2.conf

8. addthislinesomewhere: Include /etc/phpmyadmin/apache.conf

9. andfinallyrestartapache: sudo/etc/init.d/apache2 restart

Not: bağlantı hatası veya başka hata alıyorsak app-get i güncellememiz gerekebilir.

Update komutu : sudoapt-getupdate

Örn hata: Err http://us.archive.ubuntu.com/ubuntu/ quantal-updates/main php5-common amd64 5.4.6-1ubuntu1.4 404 NotFound [IP: 91.189.91.15 80] Err http://security.ubuntu.com/ubuntu/ quantal-security/main php5-common amd64 5.4.6-1ubuntu1.4

Tek tek kurulum:

1. sudoapt-getinstall apache2

2. sudoapt-getinstallmysql-server

3. sudoapt-getinstall php5 libapachveyasudoapt-getinstall php5 php5-gd php5-mysql php5-curl php5-cli php5-cgi php5-dev