Hazır ve Çalışan RTLinux

Hazırlık

Bu bölümde RTLinux derlemeye hazırlık aşamalarında gerekenler anlatılmaktadır:

  • Önceki bölümde listelenen sunuculardan birinden RTLinux/Free'yi indirin. Kaynak kodları açın, yamaların bulunduğu dizine geçerek uygun çekirdek yamalarını kontrol edin. Eğer kullanmayı planladığınız çekirdek sürümü için yama bulunmuyorsa uygun yama için destekçilerin sayfalarına bakabilirsiniz.

  • RTLinux yaması ile kullanmak istediğiniz Linux çekirdeğinin özgün halini http://kernel.org adresinden indirin.

  • GCC sürümünüzü kontrol edin. Eğer 2.96 ise büyük ihtimalle SMP bilgisayarlarda çekirdek derleme ve çalıştırma konusunda problemlerle karşılaşırsınız. Bu nedenle ya daha eski (2.91, 2.95) ya da daha yeni (3.x) bir sürümü kurmalısınız.

RTLinux'un derlenmesi ve kurulması

Linux çekirdeğinin kaynak kodlarını /usr/src/linux dizinine açın. Eğer başka bir dizine, örneğin linux-2.4.18'e açarsanız /usr/src/linux dizinine sembolik bağ vermeniz gerekir (bu RTLinux çekirdeğinin ve modüllerin derlenebilmesi için gereklidir):

bash# cd /usr/src
bash# ln -s linux-2.4.18 linux

RTLinux kodunu /usr/src/rtlinux dizinine açın. RTLinux çekirdek yamasını /usr/src dizinine taşıyın (yamanın adının rtlinux-patch olduğunu kabul edeceğiz). Linux çekirdeğinin kaynak kodunun bulunduğu dizine geçin ve çekirdeğe yamayı uygulayın:

bash# cd /usr/src/linux
bash# patch -p1 < ../rtlinux-patch

Şimdi tercih ettiğiniz yöntemle çekirdeği yapılandırın; make config, make menuconfig veya make xconfig. "İşlemci Türü ve Özellikleri" bölümünde CPU türü tam olarak işlemcinizi göstermelidir, bu bir zorunluluktur, aksi halde RTLinux makinanızda çalışmayacaktır. Eğer işlemciniz Pentium 4 veya Xeon ise Pentuim III veya başka bir şey yerine Pentuim 4 seçili olmalıdır. Birden fazla işlemciniz varsa SMP aktif edilmelidir. Diğer donanım sürücülerinizi ve ihtiyaç duyuduğunuz özellikleri de seçmelisiniz. APM BIOS desteğini aktif etmemeniz önerilmektedir - RTLinux ile çalışırken bazı problemlere yol açtığı rapor edilmiştir.

kgcc kullananlar için bilgi (gcc 2.91)

makefile dosyasının başlangıcındaki (/usr/src/linux/Makefile):

CC = $(CROSS_COMPILE)gcc

girdisini:

CC = kgcc

olarak değiştirin.

Bağımlılıkları kontrol edin:

bash# make dep

Sıkıştırılmış çekirdeği ve modülleri oluşturun

bash# make bzImage
bash# make modules

Yeni çekirdeği ve modülleri yükleyin:

bash# make modules_install
bash# cp arch/i386/boot/bzImage /boot/rtlinuz

Yeni çekirdeğiniz için önyükleyicinize bir girdi ekleyin. Biz örnek olarak root bölümünüzün /dev/sda1 olduğunu kabul edeceğiz. RTLinux çekirdeği ile problem yaşama ihtimalini düşünerek eski çekirdeğinizle ilgili girdiyi korumayı ihmal etmeyin. Aşağıda LILO için bir girdi örneği yeralmaktadır (/etc/lilo.conf):

        ...
        image=/boot/rtlinuz
                label=rtlinux
                root=/dev/sda1
                read-only
        ...

Önyükleyicinizi (lilo veya grub) güncelleyin ve yeni RTLinux çekirdeğiniz ile yeniden başlatın. Eğer bilgisayarınız yeni çekirdekle başlamazsa eskisi ile açarak yeniden çekirdeği yapılandırın ve derleyin. Eski yapılandırmanızın yerine yenisini "make clean" komutuyla koyabilirsiniz.

RTLinux kaynak kodunun bulunduğu dizine geçin:

bash# cd /usr/src/rtlinux

RTLinux'u yapılandırın:

bash# make menuconfig

Burada öntanımlı değerleri kabul edebilirsiniz.

Not

Eğer çekirdek Makefile dosyasında CC derleyicisini kgcc olarak değiştirmişseniz RTLinux kaynak kodundaki rtl.config dosyasında

CC="gcc"

yerine:

CC="kgcc"

olduğundan emin olun.

Şimdi bağımlılıkları kontrol edin (isteğe bağlıdır, eğer bu adımı atlarsanız "make" komutu bu görevi yerine getirecektir):

bash# make dep

RTLinux çekirdeğini ve modülleri oluşturun:

bash# make

Aygıtları oluşturun ve RTLinux'u kurun:

bash# make install

Artık RTLinux'u ve modülleri denetleyin. RTLinux yapılandırmanızı denetlemenize yardımcı olacak bir regresyon analizi paketi ile birlikte gelmektedir.

bash# make regression

Bu işlem sonucunda eğer Linux çekirdeğiniz veya RTLinux hatalı yapılandırılmış ya da hatalı derlenmişse bilgisayarınız kilitlenecektir. Tüm testler "[ OK ]" ile sonuçlanmalıdır. Eğer bazıları başarısız olursa tekrar deneyin (bazı testler ilk başarısız denemeden sonra başarılı olabilmektedir!).

RTLinux'u çalıştırmak

RTLinux'u başlatın:

bash# rtlinux start

Bu komutun çıktılarında başarı ile yüklenmiş RTLinux modülleri (+) ile başarısız olanları ile (-) ile gösterilecektir. Liste sizin yapılandırmanıza bağlı olacaktır:

        (+)rtl.o
        (+)rtl_fifo.o
        (+)mbuff.o
        ...

rtlinux'un durumunu kontrol edin:

bash# rtlinux status

Bu komut size yüklenmiş (+) ve yüklenmemiş (-) modülleri gösterecektir.

RTLinux'u durdurun:

bash# rtlinux stop

Bu RTLinux modüllerini boşaltacak ve aşağıdaki gibi bir çıktı verecektir:

        (-)rtl.o
        (-)rtl_fifo.o
        (-)mbuff.o
        ...