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.
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
Ders 2: OK02
Ders 3: OK03
Ders 4: OK04
Ders 5: OK05
Ders 6: Screen01
Ders 7: Screen02
Ders 8: Screen03
Ders 9: Screen04
Ders 10: Input01
Ders Input02
Ö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.
Font | Resim | Lisans |
---|---|---|
Monospace Default | Free to use/redistribute commercially. Cannot be titled ‘Bitstream’ or ‘Vera’. | |
Liberation Mono | SIL Open Font License. | |
Liberation Serif Mono | SIL Open Font License. |