Kernel Space Kaynak Tavsiyesi

Başlatan unknownperson, 20 Haziran 2019, 11:22:06

unknownperson

Real Time Embedded Sistemlere kod yazmaya başladım, fakat daha önce hiç kernel space'te çalışmamıştım. Bazı eksiklerimi farkettim. Bu eksikler:

- Image nedir? Kernel image ve bootloader image ihtiyacı ? Bu imageler nasıl oluşturulur ?
- Build etme, linke etme, run time, compile time , linking, compiling, building (sadece kavramsal olarak biliyorum o yüzden bazı şeyler aklımda canlanmıyor)
- Kernel spacete çalışırken nelere dikkat edilmeli, board başlatıldıktan sonra yapılan işlemler nedir vs.

Bunları öğrenebilmem için kaynak tavsiyesi istiyorum. (Pratik içerirse çok daha iyi olur)

kralsam

Hocam bence yoctoproject diye başla. Daha hızlı olur.

satilla

Yeni başlayanlar için Yocto ağır olur, buildroot ile başlamanızı öneririm.

TI veya NXP SOC'ler ile çalışacaksanız kendilerine özgü bootloaderları olduğunu görecekseniz (özelleştirilmiş u-boot). Sistemlerinizi bu SOC'ler ile hızlıca çalıştırabilirsiniz ancak temele inmek isterseniz doğru seçenekler olmayacaktır. Allwinner, Realtek vb. marka ürünleri kullanırsanız daha temele inebilirsiniz.

Çalışmaya başlamdan önce temel seviyede Linux öğrenmeniz gerekli, youtube üzerinde bir çok kaynak mevcut. Nazım KOÇ'un kitabını da tavsiye edebilirim.

Linux adı altında bir çok kaynağın kısmen açık kaynak olduğunu göreceksiniz. Ancak bu durum öyle değil. Ya büyük firmaların pahalı SOC'lerini kullanacak onların desteğinden faydalanacak ya da daha küçük ölçekli üreticilerin ucuz ama çok işlevli ürünleirni kullanacak uykusuz geceler geçireceksiniz.

Aşağıdaki kaynaklar başlangıçta işinizi görecektir;

http://www.linuxfromscratch.org/

https://buildroot.org/


OptimusPrime

kernel  ??? mumkun oldugunca uzak durmaya calis  :D

kitaplarin cogu aslinda linux dokumantasyonun bir kisminin basilmis hali oldugundan ne ariyorsan linux dokumantasyonuna baksan daha yararli olacaktir. Uygulamali gormek istiyorum dersen (ki bunu siddetle tavsiye ederim) ti, nxp, microchip/atmel, xilinx, marvell gibi buyuk firmalarin kitlerinden alip oynamak daha mantikli olacaktir (istemedigin kadar aciklamali dokuman ve uygulama oldugundan). Bunlar sana baslangic icin bir fikir verecektir. Kim ne is yapiyor, ne nasil calisiyor vs vs.

Daha derine ineyim dertsiz basima dert alayim dersen, cin mali islemciler ile ugrasabilirsin. Sorunlu kaynak kodlar, modifiye edilmis suruculer, calismayan scriptler, typo iceren konfigurasyonlar, birbirine uyumsuz paketler vs vs. aklina gelebilecek her turlu sorunla karsilasabilirsin. Bir arpa boyu yol kat edemeden gunlerce ugrasirsin. Bir make komutu bile calismaz hale gelir. Sinir katsayin artar  :D  >:(

Yerinde olsam beaglebone ile baslarim. Derek efendide guzel anlatiyor. Kitaplarida var.
http://derekmolloy.ie/
Kaynak zaten ti in sitesinde yiginla var.  ::ok
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

unknownperson

#4
Tavsiyeler güzel, teşekkür ederim.

vxWorks üzerine olması işimi kolaylaştırır. Hatta ilk araştırmam folder structure oldu, hiç çalışmadığım bir konuda çalışmaya başlayınca ilk istediğim tepeden bakıp genel yapıyı görmek istemek oluyor. Fakat bir sonuç elde edemedim.

@kralsam çok duydum sanırım kaynağı çok hatta elimde güzel bir dokümanda vardı, önereceğiniz bir kit var mı ?

@satilla hocam paylaştığınız buildroot göze hoş geliyor. Verdiğiniz kaynaklara bir göz gezdireyim.

@OptimusPrime elimde ilk sürümlerinden raspberry pi b+ var, iş görür mü bilmiyorum. Bir de TI kit olacaktı o daha işime gelir gibi. Derek efendiye bakıp kit vs. belirlemek daha doğru olacak gibi duruyor.

kralsam

TI kartlarını genel olarak destekliyor. Yinede güncel listelere bakmak lazım. Bu arada Yoktoproject olsun diğer kaynaklar olsun en iyi dokümantasyon kaynak kodların içinde veya yanında üşenmeden sabırla oturup incelemek lazım. Şunu da söyleyim uğraşmayı bıraktığın an çok hızlı unutuyorsun yada çok hızlı birşeyler değişebiliyor. İşin bu olmayacaksa vakit kaybı olabilir bilgine. :)

unknownperson

#6
Alıntı yapılan: kralsam - 24 Haziran 2019, 11:33:37TI kartlarını genel olarak destekliyor. Yinede güncel listelere bakmak lazım. Bu arada Yoktoproject olsun diğer kaynaklar olsun en iyi dokümantasyon kaynak kodların içinde veya yanında üşenmeden sabırla oturup incelemek lazım. Şunu da söyleyim uğraşmayı bıraktığın an çok hızlı unutuyorsun yada çok hızlı birşeyler değişebiliyor. İşin bu olmayacaksa vakit kaybı olabilir bilgine. :)

İlk olarak şunu söyleyim işim bu olacak gibi duruyor, en azından bir embeddedcı genel kernel yapısını bilmeli diye düşünüyorum. Bu konuda bir şey söylenince kafamda bir şey oluşmuyor bence oluşmalı.

Bir de raspberry'i destekliyor mu ? Elimde bir de MSP-EXP430FR5739 var.

Şu kaynak sizce nasıl : http://digiwiki.eccee.com/_media/digi/arm-embedded/linux/dey/embedded_linux_projects_using_yocto_project_cookbook.pdf

cripple

http://www.ucanlinux.com/
Nazım Koç hocanın sayfası baştan sona detaylı anlatımlar mevcut pdf halinde

OptimusPrime

@unknownperson

yokto daha once kimsenin uzerinde linux kosturmadigi bir islemciyi adam etmek istiyorsan guzel bir cozum ama bu bile aylarini alir. yokto bogulmak icin oldukca elversili bir deniz. Bence hali hazirda bir gelistime ortami sunan ureticilere baksan daha mantikli olur.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||