Tabletin linuxunu minuxunu silip sıfırdan kod yazmak

Başlatan z, 16 Ağustos 2014, 15:49:58

z

Maçası yiyen gelsin

Tabletlerin işletim sistemini silip sıfırdan kod yazacak ekipte yer almayı gözü yiyen varmı?

İşletim sistemi ve kütüphane kullanmak yok.

Zaman limiti olmadan boş zamanlarda tamamen zevkine ASM ve C ile kod yazacak delilerden oluşan bir kaç kişilik ekip kurmak istiyorum.
Bir an önce yapalım kurtulalım ya da yapamadım bu işi bırakalım demek yok. 4 sene ise 4 sene 10 sene ise 10 sene arada bir ilgili alakalı olacağınız bir proje.

Tableti ayağa kaldırdıktan sonra internetmiş mail atmaymış, video oynatmaymış, müzik çalmaymış gene bunları yazacak deliler buluruz.

Aşağıda örnek bir tabletin donanım özellikleri var. Bu yada benzeri ortak bir platformda çalışacak olanlar varsa, yiyiyorsa bu işe nasıl başlarız
konuşmaya başlayalım.

Derleyiciyi nasıl bedavaya buluruz? Çiplerin dokumanlarını nasıl buluruz? Dokuman bulamazsak Linux için yazılmış sürücüleri nasıl elde eder ve tersine mühendislik yaparak çipleri nasıl anlarız?


Processor Mode: Allwinner A23 Dual Core 1.5GHz Cortex A7 High Performance Processor
RAM Installed Size: DDR 512MB
Built-in Nand Flash: NAND FLASH 4GB
Display Diagonal Size: 7" TFT 16:9 width screen
Max Resolution: 800X480
Touch panel: 5 points Capacitive Touch Screen
Camera: 0.3M pixel
Gravity Sensor: 4 Directions
Input/ Output Connectors
Audio/Video: Built in 1W stereo speaker x1, earphone x1
USB Port: Micro USB Device/Host x1
Memory Card: Micro SD card slot x1. Maximum capacity of 32GB
Communications
Wireless Connection: Wi-Fi
Wireless Protocol: 802.11 b/g Wireless network

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

speak48

benim de içinden cortex-a işlemcileriyle çalışmak geçiyordu ama böyle bodoslama değil.
içinde hangi donanımlar kullanılmış iyi dökumante edilmiş hatta sürücüleri açık dağıtılmış 
işlemciler daha uygun olurdu.
mesela freescale driverleri açıyor.onla yapılmış bi tablet bulmak gerek.

Tagli

Ben varım. Öncelikle üzerinde çalışabileceğimiz ucuz ve kolay bulunur bir tablet bulmalıyız. Öyle ki çalışmaz hale getirirsek arkasından ağlamayalım. (Aslında zaten bir süre çalışmaz halde olacak, kaçarı yok)

Ama ben sıfırdan Linux kurmaktan yanayım. Daha önce de değinmiştim, LFS (Linux From Scratch) kıvamında.
Gökçe Tağlıoğlu

kimlenbu

Programlaması nasıl olacak ?
Kod nasıl atılacak ?
Şarj soketinde programlama için gerekli pinler var mı, yoksa kasayı açıp pinlere direkt müdahale etmek mi gerekecek ?
Tablet ayağa kaldırılırsa android veya bir linux sürümünden daha da gelişmiş özelliklere sahip olabilecek mi ? Daha hızlı çalışabilecek mi ?
Tablet piyasadan kalkarsa harcanan emeklere ne olacak ?

özetle kendini geliştirmekten öte işlevsel bir getirisi olacak mı ?

tesladream

#4
Merhaba arkadaşlar ,

Operating sistemin içine root olarak girin ,

1) dmesg çıktısını kaydedin
2) uname -a çıktısını kaydedin
3) /etc klasörünü komple kaydedin
4) /sys/class altında backlight , graphics gibi dosyaların içindeki name , mode gibi çıktıları kaydedin.
5) dmesg çıktılarından kernel parametrelerinin muhakkak kaydedin --> serial console port adı ve lvds ayarı ordadır (dmesg |grep Kernel)
6) /proc altında config.gz varsa muhakkak alın rootfs derlerken kullanılır.
7) /proc/cpuinfo , /proc/meminfo yu kaydedin
8 ) /boot altındakinlerin hepsini tar layın çekin
9) En önemli kısım bootloader onun için serial console çıkışı olmalı ,muhakkak vardır kartın üzerinde ordan bağlanamadıktan sonra çok zor , eğer bağlanılabilinirse herşey çok basit tüm parametrelerini kaydedin , partionlara bakın oradan bootloaderin olduğu hexdump görünen yeri printscreen yapın.
Aslında bu bootloader second olan primary kartın üzerinde oraya onun anlayabileceği bir second bootloader yerleştirilir.Bu bahsettiğim kendi bootloader inizi çalıştırmak istiyorsanız, bence kalsın çünkü tüm hardware i o ayağa kaldırır.

Programlama: Qt + Java olabilir
Kod atma olayı: Rootfs altına direkt atılır. Sanırım OTG girişine console düşüyordu incelemek lazım
Daha hızlı çalışma olayı : eğer sadece birkaç işi yapacaksa inanılmaz hızlı olur.

Reverse engineering yapılabilir, komutlar değişiklik gösterebilir ama dosyalar unix için , alınan tablette de aynıları var.Yeri geldikçe yukarıdaki kaydettiklerinizi kullanacaksınız.Hobi için güzel bir uğraş home media player falan yapılabilinir.
Kolay gelsin.




Tesla.25

#5
Ben daha önce böyle bir konu açmıştım.
https://www.picproje.org/index.php/topic,53204.msg403491.html#msg403491
Aynen sizin dediğinizi yapmak istemiştim @z hocam.
Ama vazgeçmedim ben. Bu fikir kafamda halen daha...

Ben yapamadım ama siz o tecrübe, bilgi birikimi ile yaparsınız.
-----------------------------------------------------
@z hocam, bu projede öğrendiğiniz her bilgiyi bizlerle paylaşırsanız, çok minnettar oluruz.

mesaj birleştirme:: 16 Ağustos 2014, 17:31:55

@tesladream;
Aman Java olmasın. Mobil platformda Java hiç de iyi bir seçenek değil. Ama Qt mükemmel olur. Ki Gömülü sistemler için  bir vesiyonu da var zaten.

@kimlenbu;
Hocam bu gibi projelerde asıl amaç kendini geliştirmektir zaten. :DD

Saygılarımla...

z

Benim maçam yermi yemez mi bilmiyorum.

Derleyiciyi bulursak, çip dokumantasyonlarına da ulaşırsak kendimi ikna edebilirim.

Fakat hazır driver bulmaktan ve linux yüklemekden bahsetmiyorum.

Sıfırdan ve hard core kod yazmaktan bahsediyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

diot

@Z ,
          Tutki maçamız yedi ve 4-5 sene uğraştık bir yerli yazılım geliştirdik. Peki bu yazılım bize 4-5 sene sonra ne kazandıracak.  zaten o vakite kadar adamlar bu işin kat ve kat daha iyilerini yapacaklar. Maddi ve manevi zarara uğramayacakmıyız. Birde ömürden 4-5 sene gitmiş olacak.
Bunun yerine örnek olarak denizcilik sektörüne veya başka bir sektöre Türkiyede imalatı yapılamayan bir cihazı geliştirip para kazanmak daha iyi olmazmı. ?
         


AsHeS

http://community.arm.com/groups/tools/blog/2013/04/15/arm-cortex-a-processors-and-gcc-command-lines

gcc zaten bu işi yapıyor(derleyici) fakat bsp(register adresleri, içerikleri vsvs.) hazırlanması gerekir.

Tagli

gcc'nin zaten port edildiği bir işlemci barındıran bir tablet seçmeliyiz.

Bu projede amaç kendini geliştirmek ve biraz da eğlenmek. Faydalı bir şey çıkması gibi bir beklenti ve hedef olmaması lazım.

Ben yine de GNU/Linux'tan yanayım. İşletim sistemi olmadan tabletin tüm potansiyelini kullanmak çok zor olacaktır. Kendimizin sıfırdan yazması da pek mümkün olmaz bence.

Ama bir yandan z'nin baremetal önerisi de zor olsa da eğlenceli gibi duruyor.

Belki hem GNU/Linux hem baremetal deneyebiliriz.
Gökçe Tağlıoğlu

AsHeS

Allwinner A23 Dual Core 1.5GHz Cortex A7 High Performance Processor
gcc cortex a7 ye derleme yapıyor FreeRTOS port edilirse güzel olur. Bare-metal olarak bu işlemcilerle uğraşmak verimsiz.

mehmet

Kawai diye bir markanın servisini alıyor
arkadaşım. Model GT-090. Bunun da iki
modeli var. Bluetooth olanı-olmayanı.
Konuştum şimdi. Uygun fiyatlı alınması
imkanı var. Ürünü inceleyip karar verirseniz
yardımcı olmaya çalışırım.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

z

Alıntı yapılan: diot - 16 Ağustos 2014, 18:33:45
@Z ,
          Tutki maçamız yedi ve 4-5 sene uğraştık bir yerli yazılım geliştirdik. Peki bu yazılım bize 4-5 sene sonra ne kazandıracak.  zaten o vakite kadar adamlar bu işin kat ve kat daha iyilerini yapacaklar. Maddi ve manevi zarara uğramayacakmıyız. Birde ömürden 4-5 sene gitmiş olacak.
Bunun yerine örnek olarak denizcilik sektörüne veya başka bir sektöre Türkiyede imalatı yapılamayan bir cihazı geliştirip para kazanmak daha iyi olmazmı. ?

Bilmediğiniz bir konuyu öğrenmek için harcayacağınız zaman kayıp zaman değildir. Gavur zaten her daim bizden daha iyisini yapacak.
Biz bu proje ile kendi çapımızda eğleneceğiz.

Para kazanabileceğimiz imalatı olmayan cihaz örneklerini de konuşalım. Yapabileceğimiz türden cihazlar varsa hemen yapmaya başlayalım.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Icarus

Yapılmasında hiçbir sıkıntı yok.
Hatta kullandığınız işlemci buna çok uygun çünkü direk USB üzerinden kod çalıştırabiliyor (Aynı tablet bende de var :) )
Kodları tablete yüklemek yerine boot sırasında usb üzerinden ram'e koyabiliyorsunuz :) Rahatlık baya.

Öncelikle ufak bir debug arayüzü yaparak başlayın kullandığınız tabletin sdcard pin'leri aynı zamanda default uart'ı basit adaptörle tablete zarar vermeden uart elde edebilirsiniz. (Ben ne yazık ki kamerayı söktüm :( )

Ama bence bunun yerine güzel linux + uboot derleseniz, tablete yükleyip zaten var olan LCD ve touchscreen sürücülerini kullansanız daha güzel olmaz mı ?
Sonra ne yazmak isterseniz masaüstünde yazın, debug edin, tablete yükleyin.... Olmadı mı ? USB OTG'den Ethernet adaptörü takıp Linux de remote debug yapın ! :D


z

Anlaşılan sen bu işlerden anlıyorsun.

Linuxu boşver şimdi. Ya da Linux ile uğraşacaklar bir başlık altında bir girişimde bulunsunlar.

Doğrudan CPU yan kod geliştirmek için C derleyiciyi temini nasıl olacak?

Donanımla ilgili Linux driverları açık mı? Donanımın init edilmesi, kullanılması konusunda kaynak kodları varsa çok iyi referans olur.

Bize nasıl bir destek sağlayabilirsin?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com