Gömülü Sistemler(Embedded Linux) Eğitimleri

YeniHayat A.Ş. 15+ yıllık deneyimli kadrosuyla, Gömülü (Embedded) Linux sistemler alanında varolan birikimini eğitimler yoluyla müşterilerine aktarmaktadır.

Gömülü Linux Eğitim programı, talep doğrultusunda 4 veya 5 gün şeklinde gerçekleştirilmektedir. Aşağıda yer alan program içeriğinin tamamı yerine belirli konuların daha detaylı anlatılması veya programda yer almayan bir konu başlığının talep edilmesi de mümkündür.

Eğitim programımız şu an sadece kurumsal başvurulara açık olup eğitim ücreti kişi sayısından bağımsız olarak her bir grup için günlük olarak belirlenmektedir. Bir eğitim grubunda maksimum 16 kişi yer alabilir.

Sorularınız için egitim@yh.com.tr adresine e-posta gönderebilirsiniz.

Eğitim öncesi yardımcı kaynak olarak hazırlamış olduğumuz Gömülü Linux kitabına aşağıdaki adresten erişebilirsiniz:

http://demirten.gitbooks.io/gomulu-linux/

YHB-EL1 Gömülü (Embedded) Linux Eğitimi

1. Periyot

  • Linux İşletim Sistemi'nde temel kavramlar
    • Genel Unix Felsefesi
    • Linux Kernel gelişim süreci
    • Kullanıcı Kipi ve Kernel Kipi ayrımı
    • Kullanıcı ve Gruplar
    • Sanal Dosya Sistemi Katmanı
    • Inode ve dirent yapıları
    • Proses Kavramı ve Proses Yönetim Araçları
    • Kabuk Kullanımı, Kabuk Seçenekleri ve Farkları
    • Ortam değişkenleri kullanımı ve aktarımı
    • Borulama (Pipe) mekanizmasının kabukta ve uygulama içerisinde kullanımları
    • Erişim Kontrol Sistemi ve Yetkilendirme
  • GNU Build Sistemi, make, cmake, scons ve autoconf kullanımları
  • Çapraz Derleme
    • Çapraz Derleme İşlemiyle İlgili Araçların Edinilmesi
    • Arm mimarisi için OABI, EABI, EABIHF toolchain farklılıkları
    • Windows hedefli çapraz derleme
  • Proc dosya sistemi

2. Periyot

  • Kernel Derleme
    • Kaynak kodların edinilmesi
    • Derleme konfigürasyonu ve Kconfig sistemi
    • X86 ve X86_64 mimarileri için derleme süreci
    • Arm mimarisi için derleme süreci
    • Örnek uygulama board'u için çalışacak kernel üretilmesi
  • Arm Boot Süreci
    • Internal Boot ROM
    • Birinci external boot loader (x-loader)
    • İkinci external boot loader (u-boot)
    • Board için X-Loader'ın üretilmesi
    • Board için U-Boot'un üretilmesi
  • U-Boot
    • Ortam değişkenleri
    • Açılış betikleri ve örnek senaryolar
    • Ağ üzerinden veya SD kart üzerinden kernel imajının çekilmesi
    • Kernel imajının u-boot üzerinden NAND flash ortamına yazılması
  • NfsRoot çalışma yöntemi
    • Gereken kernel değişikliklerinin yapılması
    • NFS Sunucu Kurulumu
    • Kernel boot argümanlarının düzenlenmesi
  • Linux Açılış Süreci ve Init mekanizması
  • Kök Dosya Sisteminin Oluşturulması
  • Busybox derlenmesi ve NfsRoot üzerinden boot edilmesi

3. Periyot

  • Gömülü Linux platformlarında kullanılan dosya sistemleri
    • Minix
    • Jffs2, Yaffs2, Ubifs
    • Cramfs, Squashfs
  • Buildroot ile kök dosya sistemi oluşturma
    • Çalışma prensibi
    • Kullanılabilecek ek 'hook' mekanizmaları
    • Buildroot içerisine paket ekleme
  • Kök Dosya Sisteminin sisteme aktarımı
    • Nand Flash tabanlı sistemler için MTD bölümlendirme ve aktarım süreci
    • eMMC kullanılan sistemlerde aktarım süreci
    • SD Kart kullanılan sistemlerde aktarım süreci
  • Initial Ramdisk Kullanımı
    • İhtiyaç duyulan senaryolar
    • İmajın oluşturulması
    • Kernel içerisinde veya dışarısındaki initrd imajlarıyla boot senaryoları
  • devtmpfs dosya sistemi ve kullanım senaryoları
  • tmpfs dosya sistemi ve kullanım senaryoları
  • Linux altından imaj güncellemeleri
    • NAND flash kullanımında güncellemeler
      • Kernel güncellemesi
      • ReadOnly kök dosya sistemi kullanımında güncellemeler
      • ReadWrite kök dosya sistemi kullanımında güncellemeler
    • eMMC ve diğer block device kullanımında güncellemeler
    • Initial Ramdisk kullanımı ile güncellemeler

4. Periyot

    • Kernel Driver Geliştirme
      • Örnek bir karakter aygıtı geliştirme
      • Modül yükleme sırasında parametre alma
      • Driver için /proc altında isim rezerve etme
      • /proc üzerinden driver – userspace haberleşme mekanizması geliştirimi
      • Driver spesifik ioctl çağrılarının tanımlanması
      • C uygulamasından ioctl'ler kullanılarak driver ile haberleşme
    • Debug ve Profiling Yöntemleri
      • strace ile sistem çağrılarının takibi
      • gdbserver ile board üzerinde remote debug işlemi
      • Gnu profiler kullanımı
      • Valgrind ile bellek taşmalarının kontrolü
    • Qt Kütüphanesine Genel Bakış
      • Sinyal/Slot Mekanizması
      • Qml ile arayüz geliştirimi
      • Qt Webkit ile arayüz geliştirimi

5. Periyot

  • Android Mimarisine Genel Bakış
    • Geliştirme ortamının hazırlanması
    • Kernel katmanında yapılan değişiklikler
    • Kullanıcı kipi katmanında yapılan değişiklikler
    • Sistemin derleme süreci
    • Dosya sistemi yapısının anlaşılması
    • Sistem imajında özelleştirmelere başlamak
    • Native kütüphane yazımı ve JNI katmanı üzerinden kullanım örneği
    • Qt 5.4 QML kullanarak Android uygulaması geliştirme