Bu notlar, Debian Etch GNU/Linux kurulu makine için hazırlanmıştır. Çekirdek olarak linux-image-2.6.17-2-686 kullanıldığı ve temel masaüstü uygulamalarının sistemde yüklü olduğu varsayılmıştır. * udev ayarları su - cd /etc/init.d touch rtai-dev chmod 755 rtai-dev vim /etc/init.d/rtai-dev #!/bin/sh -e if [ ! -e /dev/rtai_shm ] ; then mknod -m 666 /dev/rtai_shm c 10 254 fi for n in `seq 0 9`; do f="/dev/rtf$n" if [ ! -c $f ] ; then mknod -m 666 $f c 150 $n fi done /etc/init.d/rtai-dev update-rc.d rtai-dev start 30 2 3 4 5 . * gerekli paketlerin kurulması apt-get install linux-source-2.6.17 \ linux-patch-debian-2.6.17 \ kernel-package \ build-essential \ dh-make \ module-assistant \ intltool-debian \ debhelper \ po-debconf \ sharutils \ gettext \ html2text \ libncurses5-dev cd wget --no-check-certif https://www.rtai.org/RTAI/rtai-3.4.tar.bz2 mkdir /usr/src/modules tar xjf rtai-3.4.tar.bz2 -C /usr/src cd /usr/src/modules ln -s ../rtai-3.4 rtai * Çekirdek kaynak kodunun hazırlanması cd /usr/src tar xjf linux-source-2.6.17.tar.bz2 ln -s linux-source-2.6.17 linux cd linux FIX: kernel-pacthes bug cd /usr/src/kernel-patches/all/ mkdir 2.6.17 mv apply/ 2.6.17/ mv debian/ 2.6.17/ mv unpatch/ 2.6.17/ cd /usr/src/linux ../kernel-patches/all/2.6.17/unpatch/debian FIX: RTAI patch bug cd /usr/src/modules/rtai/base/arch/i386/patches/ vim hal-linux-2.6.17-i386-1.3-08.patch 2935 shift+g 8 dd :wq cd /usr/src/linux patch -p1 < ../modules/rtai/base/arch/i386/patches/hal-linux-2.6.17-i386-1.3-08.patch cp /boot/config-2.6.17-2-686 .config make menuconfig * Çekirdek config ayarları - General setup ---> [] Auditing support ( disabled ) [] Optimize for size ( disabled ) - Loadable module support ---> [] Module versioning support ( disabled ) - Block layer ---> [] Support for Large Block Devices ( disabled ) [] Support for Large Single Files ( disabled ) - Processor type and features ---> [] Symmetric multi-processing support ( disabled ) [*] Interrupt pipeline ( enabled ) [] Machine Check Exception ( disabled ) [] Toshiba Laptop Support ( disabled ) [] Dell Laptop Support ( disabled ) Firmware drivers ---> [] BIOS Enhanced Disk Drive ( disabled ) [] BIOS update support ( disabled ) [] Dell Systems Management ( disabled ) High Memory Support ( off ) [] Use register arguments ( disabled ) - Power management options (ACPI, APM) ---> [] Legacy Power Management API ( disabled ) [] Software Suspend ( disabled ) ACPI (Advanced Configuration and Power Interface) Support ---> [] ACPI Support ( disabled ) APM (Advanced Power Management) BIOS Support ---> [] APM BIOS Support ( disabled ) CPU Frequency scaling ---> [] CPU Frequency scaling ( disabled ) [] Power Management support ( disabled ) - Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> [] PCI Express support ( disabled ) [] Natsemi SCx200 support ( disabled ) PCCARDS (PCMCIA/CardBus) support ---> [] PCCard (PCMCIA/CardBus) support ( disabled ) PCI Hotplug support ---> [] Support for PCI Hotplug ( disabled ) - Executable file formats ---> [] Kernel support for a.out and ECOFF binaries ( disabled ) - Networking ---> Networking options [] DCCP Configuration ( disabled ) [] SCTP Configuration ( disabled ) [] TIPC Configuration ( disabled ) [] Asynchronous Transfer Mode (ATM) ( disabled ) [] 802.1d Ethernet Bridging ( disabled ) [] 802.1Q VLAN Bridging ( disabled ) [] DECnet support ( disabled ) [] The IPX support ( disabled ) [] AppleTalk protocol support ( disabled ) [] CCITT X.25 Packet Layer ( disabled ) [] LAPB Data Link Driver ( disabled ) [] Acorn Econet/AUN protocols ( disabled ) [] WAN router ( disabled ) Network testing ---> [] Packet Generator ( disabled ) [] Amateur Radio support ( disabled ) [] IrDA (infrared) subsystem support ( disabled ) [] BlueTooth subsystem support ( disabled ) [] BlueTooth subsystem support ( disabled ) - Device Drivers ---> Block devices ---> [] XT harddisk support ( disabled ) [] Paralel port IDE device support ( disabled ) [] Compaq SMART2 support ( disabled ) [] Compaq Smart Array 5xxx support ( disabled ) [] Mylex DAC960/DAC1100 PCI RAID ( disabled ) [] Micro Memory MM5415 Battery Backed RAM ( disabled ) [] ATA over Ethernet support ( disabled ) Old CDROM drivers ---> [] Support non-SCSI/IDE/ATAPI CDROM ( disabled ) Multi-device support (RAID and LVM) ---> [] Multiple devices driver support ( disabled ) Fusion MPT device support ---> [] Fusion MPT ScsiHost drivers for SPI ( disabled ) [] Fusion MPT ScsiHost drivers for FC ( disabled ) [] Fusion MPT ScsiHost drivers for SAS ( disabled ) IEEE 1394 (FireWire) support ---> [] IEEE 1394 (FireWire) support ( disabled ) Network device support ---> [] EQL (serial line load balancing) ( disabled ) [] General Instruments SurfBoard 1000 ( disabled ) ARCnet devices ( disabled ) PHY device support ( disabled ) Ethernet (1000 Mbit) ( all disabled ) Ethernet (10000 Mbit) ( all disabled ) Token Ring devices ( disabled ) WAN interfaces ( disabled ) [] FDDI driver support ( disabled ) [] HIPPI driver support ( disabled ) [] PLIP support ( disabled ) [] SLIP support ( disabled ) [] Fibre Channel driver support ( disabled ) ISDN subsystem ---> [] ISDN support ( disabled ) Telephony support ---> [] Linux telephony support ( disabled ) Misc devices ---> [] Device driver for IBM RSA ( disabled ) Multimedia devices ---> Radio Adapters ( all disabled ) Digital Video Broadcasting Devices ( all disabled ) [] DABUSB driver ( disabled ) InfiniBand support ---> [] InfiniBand support ( disabled ) - File systems ---> [] OCFS2 file system support ( disabled ) [] Minix filesystem support ( disabled ) Miscellaneous filesystems ---> ( all disabled ) [M] Journalling Flash File System ( enabled/def. ) [M] Journalling Flash File System v2 ( enabled/def. ) Network File Systems ---> [] NCP filesystem support ( disabled ) [] Coda filesystem support ( disabled ) [] Andrew File System (AFS) ( disabled ) [] Plan 9 Resource Sharing Support ( disabled ) Partition Types ---> [] Acorn partition support ( disabled ) [] Alpha OSF partition support ( disabled ) [] Amiga partition table support ( disabled ) [] Atari partition table support ( disabled ) [] Macintosh partition map support ( disabled ) [] BSD disk label support ( disabled ) [] Minix subpartition support ( disabled ) [] Solaris partition table support ( disabled ) [] Unixware slices support ( disabled ) [] SGI partition support ( disabled ) [] Ultrix partition table support ( disabled ) [] Sun partition tables support ( disabled ) [] Karma partition support ( disabled ) - Cryptographic options ---> Hardware crypto devices ---> [] Support for VIA Padlock ACE ( disabled ) * Çekirdek kaynak kodunun derlenmesi make-kpkg clean make-kpkg --append-to-version -rtai \ --revision r1 \ --initrd \ --config menuconfig \ kernel_image \ kernel_headers \ kernel_source * yeni çekirdeğin kurulumu cd /usr/src dpkg -i linux-image-2.6.17-rtai_r1_i386.deb dpkg -i headers-2.6.17-rtai_r1_i386.deb reboot Moduller ile ilgili bir yönlendirme yapilacaksa (örneğin Tulip modulu yerine dmfe kullan gibi) boot etmeden önce /lib/modules/2.6.17-rtai/ klasöründe ilgili dosyaları editlemek gerekiyor. * RTAI kaynak kodunun hazırlanması 1. yol ------ su - cd /usr/src/modules/rtai make menuconfig make make install reboot 2. Yol ----- su - cd /usr/src/modules/rtai make menuconfig mkdir debian cd debian vim changelog vim compat vim control.modules.in vim copyright vim rules chmod 755 rules cd /usr/src/linux make-kpkg --append-to-version -rtai \ --added-modules rtai \ modules_clean make-kpkg --append-to-version -rtai \ --added-modules rtai \ modules_image cd .. dpkg -i rtai-modules-2.6.17-rtai_3.4+r1_i386.deb dpkg -i rtai-dev-2.6.17-rtai_3.4+r1_i386.deb reboot * RTAI modülünün test edilmesi su - cd /usr/realtime/testsuite/user/latency; ./run cd /usr/realtime/testsuite/user/preempt/; ./run cd /usr/realtime/testsuite/user/switches/; ./run cd /usr/realtime/testsuite/kern/latency/; ./run cd /usr/realtime/testsuite/kern/preempt/; ./run cd /usr/realtime/testsuite/kern/switches/; ./run /usr/src/modules/rtai/debian/changelog -------------------------------------- rtai (3.4) unstable; urgency=low * Initial Release. -- maintainer Sat, 23 Sep 2006 00:39:32 +0300 /usr/src/modules/rtai/debian/compat ----------------------------------- 5 /usr/src/modules/rtai/debian/control.modules.in ----------------------------------------------- Source: rtai Section: devel Priority: optional Maintainer: maintainer Build-Depends: debhelper (>= 5.0.0) Standards-Version: 3.4.1 Package: rtai-modules-_KVERS_ Architecture: any Provides: rtai-modules Depends: linux-image-_KVERS_ Description: rtai modules for Linux (kernel _KVERS_). This package contains the set of loadable kernel modules for the RTAI realtime extension. . This package contains the compiled kernel modules for _KVERS_ . If you have compiled your own kernel, you will most likely need to build your own rtai-modules. The rtai-source package has been provided for use with the Debian kernel-package utility to produce a version of rtai-module for your kernel. Package: rtai-dev-_KVERS_ Architecture: any Provides: rtai-headers Depends: linux-headers-_KVERS_, gcc-4.1 Description: rtai headers for compiling realtime modules. This package contains the set of headers and helper scripts for the RTAI realtime extension. /usr/src/modules/rtai/debian/copyright -------------------------------------- This is rtai, maintained by maintainer on Sat, 16 Sep 2006 00:39:32 +0300. The original source can always be found at: http://www.rtai.org Copyright Holder: maintainer License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. /usr/src/modules/rtai/debian/rules ---------------------------------- #!/usr/bin/make -f PACKAGE := rtai-modules MA_DIR ?= /usr/share/modass -include $(MA_DIR)/include/generic.make -include $(MA_DIR)/include/common-rules.make # architecture we're building for DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) ARCH_TARGET := $(DEB_HOST_ARCH)-elf ifeq ($(DEB_HOST_ARCH),amd64) ARCH_TARGET := x86_64-elf endif ifeq ($(DEB_HOST_ARCH),powerpc) ARCH_TARGET := powerpc-be-eabi endif ifeq ($(DEB_HOST_ARCH),mips) ARCH_TARGET := mipsisa32-be-elf endif ifeq ($(DEB_HOST_ARCH),mipsel) ARCH_TARGET := mipsisa32-be-elf endif ifeq ($(DEB_HOST_ARCH),arm) ARCH_TARGET := arm9-le-thumb-elf endif .PHONY: kdist_config fix_cdeps fix_cdeps: cd debian ; cp control.modules.in control.modules.tmp 2>/dev/null ; \ sed -e 's/_GCC_/$(CC)/g' < control.modules.tmp > control.modules.in ; \ rm control.modules.tmp kdist_config: fix_cdeps prep-deb-files .PHONY: binary_modules binary-modules binary-modules: binary_modules binary-modules: kdist_config dh_testdir dh_testroot dh_clean -k # Build modules # Configure ./configure --with-cc=$(CC) \ --with-linux-dir=/usr/src/linux-headers-$(KVERS) \ --with-module-dir=/lib/modules/$(KVERS)/rtai \ --prefix=/usr/realtime-$(KVERS) # Build and install the module $(MAKE) install DESTDIR=$(CURDIR)/debian/rtai-dev-$(KVERS) # Move the kernel modules to the correct location mkdir -p $(CURDIR)/debian/rtai-modules-$(KVERS)/lib mv -f $(CURDIR)/debian/rtai-dev-$(KVERS)/lib/* $(CURDIR)/debian/rtai-modules-$(KVERS)/lib/ dh_installdebconf dh_installdocs dh_compress dh_installdeb dh_makeshlibs -prtai-dev-$(KVERS) dh_shlibdeps -prtai-dev-$(KVERS) dh_gencontrol -- -v$(VERSION) dh_md5sums dh_builddeb --destdir=$(DEB_DESTDIR) .PHONY: kdist_clean kdist_clean: # dh_testdir # dh_testroot # dh_clean # rm -f install.log # $(MAKE) -C $(CURDIR) distclean