xv6 Nedir?
xv6, Dennis Ritchie 'nin ve Ken Thompson 'ın yazdığı Unix'in v6 versiyonunun modern x86 tabanlı işlemciler için ANSI C ile tekrardan yazılması projesidir.
Neden xv6?
Bu noktada Linux'un veya MINIX projesinin en ilkel versiyonlarını ele alıp deneysel çalışmalar yapmak yerine xv6'nın üzerinde çalışma yapmak daha verimli olacağını düşünüyorum. Özellikle yeni başlayanlar için Linux'un kaynak kodlarını alıp incelemek biraz meşakkatli hale gelmiştir. Geriye doğru gidip en ilkel derlenebilir halini bulmakta biraz zaman gerektiren bir konu olduğundan dolayı işletim sisteminin temellerini öğrenmek isteyenlere xv6 'yı tavsiye ederim.
xv6 Kurulum ve Çalıştırılması?
- sudo apt-get update
- sudo apt-get install build-essential
- sudo apt-get install gcc-multilib
- sudo apt-get install qemu
- sudo apt-get install git
ile eksik olan kurulumlar yapılmalıdır. Ardından xv6 'nın son kaynak kodlarını indirmek için aşağıdaki komut girilmelidir.
- git clone https://github.com/asanka-code/xv6.git
- chmod 700 -R xv6
- cd xv6
Ardından make komutu ile derleme işlemi yapılır.
- make
- make <qemu-nox>
Notlar:
- mkfs.c içerisindeki #define static_assert(a, b) do { switch (0) case 0: case (a): ; } while (0) tanımlamasının tekrardan yapıldığını söylediği için bu satırı yorum satırı yaparak problemi aştım. Eğer siz de benzer hatayla karşılaşırsanız yorum satırı haline getirebilirsiniz.
- Derleme sürecinde eğer eksik dosya hatası alıyorsanız bu kurulumu yapmanız gerekebilir.
sudo apt-get install libc6-dev:i386
