Raspberry Pi’ye İşletim Sistemi Yazmak

Cambridge Üniversitesi, Raspberry Pi üzerinde işletim sistemi geliştirme eğitimi yayınladı. Bu eğitimde amaç assembly dilini kullanarak işletim sistemlerinin temellerini öğrenmektir. Yoksa baştan sona herşeyiyle bir işletim sistemi yazılmayacaktır. Eğitimin sonunda insanlar amaca özel işletim sistemleri geliştirebilsinler diye bu eğitimler yayınlanmıştır. Bu eğitimler için şu an o okulda öğrenci olan Alex Chadwick‘e teşekkürler.

Dersler mikroişlemciler ve işletim sistemleri dersinin bir karışımı gibi fakat tutorial tarzında olduğu için herkes faydalanabilir. Temel düzeyde açıklamalar da bu dersleri almayanlar için yapılmış. Ben sözü uzatmadan burada her dersi paylaşacağım. İngilizce bilgisi iyi olanlar linkten faydalanarak daha iyi bir şekilde ilerleyebilirler.

Gereklilikler

Bir adet Raspberry Pi, güç kablosu, SD kart, başka bir bilgisayarda çalışan herhangi bir işletim sistemi ve RPi’yi bağlayabileceğiniz bir ekran yardımcı olacaktır ama olmasa da olur.

ARMVv6 için GNU derleyici’ye ihtiyaç vardır. Bunlar:

Microsoft Windows ve Mac OS X

 YAGARTO araçları ve GNU ARM derleyici araçları Windows ve Mac OS X için kullanılmaktadır. Siteyi ziyaret ederek elde edebilirsiniz.

Linux

Linux için aşağıdaki komutları uygulamanız yeterlidir.

[code]

$ <kbd>wget http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/downloads/arm-none-eabi.tar.bz2</kbd>
–2012-08-16 18:26:29– http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/downloads/arm-none-eabi.tar.bz2
Resolving www.cl.cam.ac.uk (www.cl.cam.ac.uk)… 128.232.0.20, 2001:630:212:267::80:14
Connecting to www.cl.cam.ac.uk (www.cl.cam.ac.uk)|128.232.0.20|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 32108070 (31M) [application/x-bzip2]
Saving to: `arm-none-eabi.tar.bz2′

100%[======================================>] 32,108,070 668K/s in 67s

2012-08-16 18:27:39 (467 KB/s) – `arm-none-eabi.tar.bz2′ saved [32108070/32108070]

$ <kbd>tar xjvf arm-none-eabi.tar.bz2</kbd>
arm-2008q3/arm-none-eabi/
arm-2008q3/arm-none-eabi/lib/
arm-2008q3/arm-none-eabi/lib/libsupc++.a
arm-2008q3/arm-none-eabi/lib/libcs3arm.a

arm-2008q3/share/doc/arm-arm-none-eabi/info/gprof.info
arm-2008q3/share/doc/arm-arm-none-eabi/info/cppinternals.info
arm-2008q3/share/doc/arm-arm-none-eabi/LICENSE.txt

$ <kbd>export PATH=$PATH:$HOME/arm-2008q3/bin</kbd>
[/code]

OS Template(Gerekli)

Derlemeye hazır hale getirilmiş içinde assembly kodu olmayan sadece makefile scriptleri ve linker scriptleri bulunan dosyalardır. Bunlar oluşturulacak dosyalar için talimatlar içerir.

 Template’i indir.

USB İşletim Sistemi için template.

Ders 1 için tıklayınız.

Ders 2 için tıklayınız.

Ders 3 için tıklayınız.

Ders 4 için tıklayınız.

Ders 5 için tıklayınız.

Ders 6 için tıklayınız.

Ders 7 için tıklayınız.

Ders Çözümleri

Ders 1: OK01

Tam Çözüm

Ders 2: OK02

Tam Çözüm

Ders 3: OK03

Tam Çözüm

 Ek Çözüm

Ders 4: OK04

Tam Çözüm

Ders 5: OK05

Tam Çözüm

Ders 6: Screen01

Tam Çözüm

Ders 7: Screen02

Tam Çözüm

Ders 8: Screen03

Tam Çözüm

Ders 9: Screen04

Tam Çözüm

Ders 10: Input01

Ders Template’i

Tam Çözüm

Ders Input02

Tam Çözüm

Örnek İşletim Sistemleri

Örnek İşletim Sistemleri
İsim Yazan Tanım
Coloured CLI Alex Chadwick Input 01 örneğinin biraz daha gelişmiş şeklidir. Renklendirilmiş komut satırı sunar

Fontlar

Aşağıdaki fontları işletim sisteminizde kullanabilirsiniz.

Monospace, Monochrome 8×16

Bu fontlarda 1 beyaz pikseli 0 siyah pikselleri temsil eder ve bu ilk 128 ASCII karakteri için yapılır.

 Monospace, Monochrome 8×16 Fonts
Font Resim Lisans
Monospace Default Default Monospace Preview Free to use/redistribute commercially. Cannot be titled ‘Bitstream’ or ‘Vera’.
Liberation Mono Liberation Mono Preview SIL Open Font License.
Liberation Serif Mono Liberation Mono Preview SIL Open Font License.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.