Re: How to install RTAI 5.1 on Debian?
Paolo Mantegazza <[email protected]> Wed, 14 Feb 2018 09:17:57 +0100
| Newsgroups | gmane.linux.real-time.rtai |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --===============2403041165316169248== Content-Type: multipart/alternative; boundary="------------DCBA6CB38BC815FC09BEDC24" Content-Language: en-US This is a multi-part message in MIME format. --------------DCBA6CB38BC815FC09BEDC24 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable I've just a single suggestion! Give me root access to your machine,=20 lettiing me to find some time to work on it. Paolo On 02/14/2018 07:44 AM, Guo Yunfei wrote: > Dear Paolo: > > > I install the RTAI 5.1 as the follow process: > > First, > I intstall RTAI 4.1 successful without the math function kernel=20 > support. its latency test is good. > My envieronment is Debian 8.9.0 , kernel 3.10.32, RTAI 4.1. > > Then, for the RTAI 5.1 installation, > I still using kernel 3.10.32 patch file in RTAI 5.1 package > I "make oldconfig" from above RTAI 4.1 environment. I just choose the=20 > same kernel version for it has running good with my RTAI 4.1 > =C2=A0it is same kernel version ,so not much difference, but still has = some=20 > message pop out like below: > > //------------------------------------ > root@debian:/media/guoissac/13GDATA/linux-3.10.32-5.1# make oldconfig > =C2=A0 HOSTCC =C2=A0scripts/basic/fixdep > =C2=A0 HOSTCC =C2=A0scripts/kconfig/conf.o > =C2=A0 SHIPPED scripts/kconfig/zconf.tab.c > =C2=A0 SHIPPED scripts/kconfig/zconf.lex.c > =C2=A0 SHIPPED scripts/kconfig/zconf.hash.c > =C2=A0 HOSTCC =C2=A0scripts/kconfig/zconf.tab.o > In file included from scripts/kconfig/zconf.tab.c:2503:0: > scripts/kconfig/menu.c: In function =E2=80=98get_symbol_str=E2=80=99: > scripts/kconfig/menu.c:567:18: warning: =E2=80=98jump=E2=80=99 may be u= sed=20 > uninitialized in this function [-Wmaybe-uninitialized] > =C2=A0 =C2=A0 =C2=A0jump->offset =3D r->len - 1; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^ > scripts/kconfig/menu.c:528:19: note: =E2=80=98jump=E2=80=99 was declare= d here > =C2=A0 struct jump_key *jump; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^ > =C2=A0 HOSTLD =C2=A0scripts/kconfig/conf > scripts/kconfig/conf --oldconfig Kconfig > # > # using defaults found in /boot/config-3.10.32-rt-4.1 > # > * > * Restart config... > * > * > * Processor type and features > * > DMA memory allocation support (ZONE_DMA) [Y/n/?] y > Symmetric multi-processing support (SMP) [Y/n/?] y > Enable MPS table (X86_MPPARSE) [Y/n/?] y > Support for big SMP systems with more than 8 CPUs (X86_BIGSMP) [Y/n/?] = y > Support for extended (non-PC) x86 platforms (X86_EXTENDED_PLATFORM)=20 > [N/y/?] n > Goldfish (Virtual Platform) (X86_GOLDFISH) [N/y/?] n > Eurobraille/Iris poweroff module (X86_32_IRIS) [N/m/y/?] n > Single-depth WCHAN output (SCHED_OMIT_FRAME_POINTER) [Y/n/?] y > * > * Linux guest support > * > Linux guest support (HYPERVISOR_GUEST) [Y/n/?] y > Memtest (MEMTEST) [Y/n/?] y > Processor family > =C2=A0 1. 486 (M486) > =C2=A0 2. 586/K5/5x86/6x86/6x86MX (M586) > =C2=A0 3. Pentium-Classic (M586TSC) > =C2=A0 4. Pentium-MMX (M586MMX) > =C2=A0 5. Pentium-Pro (M686) > =C2=A0 6. Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII) > =C2=A0 7. Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII= ) > =C2=A0 8. Pentium M (MPENTIUMM) > =C2=A0 9. Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon (MPENTIUM4= ) > =C2=A0 10. K6/K6-II/K6-III (MK6) > =C2=A0 11. Athlon/Duron/K7 (MK7) > =C2=A0 12. Opteron/Athlon64/Hammer/K8 (MK8) > =C2=A0 13. Crusoe (MCRUSOE) > =C2=A0 14. Efficeon (MEFFICEON) > =C2=A0 15. Winchip-C6 (MWINCHIPC6) > =C2=A0 16. Winchip-2/Winchip-2A/Winchip-3 (MWINCHIP3D) > =C2=A0 17. AMD Elan (MELAN) > =C2=A0 18. GeodeGX1 (MGEODEGX1) > =C2=A0 19. Geode GX/LX (MGEODE_LX) > =C2=A0 20. CyrixIII/VIA-C3 (MCYRIXIII) > =C2=A0 21. VIA C3-2 (Nehemiah) (MVIAC3_2) > =C2=A0 22. VIA C7 (MVIAC7) > =C2=A0 23. Core 2/newer Xeon (MCORE2) > > 24. Intel Atom (MATOM) > choice[1-24]: 24 > Generic x86 support (X86_GENERIC) [Y/n/?] y > * > * Supported processor vendors > * > Supported processor vendors (PROCESSOR_SELECT) [N/y/?] n > HPET Timer Support (HPET_TIMER) [Y/n/?] y > Enable DMI scanning (DMI) [Y/n/?] y > Maximum number of CPUs (NR_CPUS) [4] 4 > SMT (Hyperthreading) scheduler support (SCHED_SMT) [N/y/?] n > Multi-core scheduler support (SCHED_MC) [Y/n/?] y > Preemption Model > =C2=A0 1. No Forced Preemption (Server) (PREEMPT_NONE) > > 2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY) > =C2=A0 3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) > choice[1-3]: 2 > Interrupt pipeline (IPIPE) [Y/n/?] y > =C2=A0 I-pipe legacy interface (IPIPE_LEGACY) [Y/n/?] y > Reroute for broken boot IRQs (X86_REROUTE_FOR_BROKEN_BOOT_IRQS) [Y/n/?]= y > Machine Check / overheating reporting (X86_MCE) [Y/n/?] y > =C2=A0 Intel MCE features (X86_MCE_INTEL) [Y/n/?] y > =C2=A0 AMD MCE features (X86_MCE_AMD) [Y/n/?] y > =C2=A0 Support for old Pentium 5 / WinChip machine checks (X86_ANCIENT_= MCE)=20 > [N/y/?] n > Machine check injector support (X86_MCE_INJECT) [M/n/y/?] m > Enable VM86 support (VM86) [Y/n/?] y > Toshiba Laptop support (TOSHIBA) [M/n/y/?] m > Dell laptop support (I8K) [M/n/y/?] m > Enable X86 board specific fixups for reboot (X86_REBOOTFIXUPS) [Y/n/?] = y > CPU microcode loading support (MICROCODE) [Y/n/m/?] y > =C2=A0 Intel microcode loading support (MICROCODE_INTEL) [Y/n/?] y > =C2=A0 AMD microcode loading support (MICROCODE_AMD) [N/y/?] n > Early load microcode (MICROCODE_INTEL_EARLY) [Y/n/?] y > /dev/cpu/*/msr - Model-specific register support (X86_MSR) [M/n/y/?] m > /dev/cpu/*/cpuid - CPU information support (X86_CPUID) [M/n/y/?] m > High Memory Support > =C2=A0 1. off (NOHIGHMEM) > =C2=A0 2. 4GB (HIGHMEM4G) > > 3. 64GB (HIGHMEM64G) > choice[1-3]: 3 > Memory split > > 1. 3G/1G user/kernel split (VMSPLIT_3G) > =C2=A0 2. 2G/2G user/kernel split (VMSPLIT_2G) > =C2=A0 3. 1G/3G user/kernel split (VMSPLIT_1G) > choice[1-3?]: 1 > PAE (Physical Address Extension) Support (X86_PAE) [Y/?] y > Numa Memory Allocation and Scheduler Support (NUMA) [N/y/?] n > Memory model > > 1. Flat Memory (FLATMEM_MANUAL) > =C2=A0 2. Sparse Memory (SPARSEMEM_MANUAL) > choice[1-2]: 1 > Allow for balloon memory compaction/migration (BALLOON_COMPACTION)=20 > [Y/n/?] y > Allow for memory compaction (COMPACTION) [Y/n/?] y > Page migration (MIGRATION) [Y/?] y > Enable bounce buffers (BOUNCE) [Y/n/?] y > Enable KSM for page merging (KSM) [Y/n/?] y > Low address space to protect from user allocation=20 > (DEFAULT_MMAP_MIN_ADDR) [65536] 65536 > Enable recovery from hardware memory errors (MEMORY_FAILURE) [Y/n/?] y > =C2=A0 HWPoison pages injector (HWPOISON_INJECT) [M/n/y] m > Transparent Hugepage Support (TRANSPARENT_HUGEPAGE) [N/y/?] (NEW) > Cross Memory Support (CROSS_MEMORY_ATTACH) [Y/n/?] y > Enable cleancache driver to cache clean pages if tmem is present=20 > (CLEANCACHE) [N/y/?] n > Enable frontswap to cache swap pages if tmem is present (FRONTSWAP)=20 > [Y/n/?] y > Allocate 3rd-level pagetables from highmem (HIGHPTE) [Y/n/?] y > Check for low memory corruption (X86_CHECK_BIOS_CORRUPTION) [N/y/?] n > Amount of low memory, in kilobytes, to reserve for the BIOS=20 > (X86_RESERVE_LOW) [64] 64 > Math emulation (MATH_EMULATION) [N/y/?] n > MTRR (Memory Type Range Register) support (MTRR) [Y/n/?] y > =C2=A0 MTRR cleanup support (MTRR_SANITIZER) [Y/n/?] y > =C2=A0 =C2=A0 MTRR cleanup enable value (0-1) (MTRR_SANITIZER_ENABLE_DE= FAULT) [0] 0 > =C2=A0 =C2=A0 MTRR cleanup spare reg num (0-7)=20 > (MTRR_SANITIZER_SPARE_REG_NR_DEFAULT) [1] 1 > =C2=A0 x86 PAT support (X86_PAT) [Y/n/?] y > x86 architectural random number generator (ARCH_RANDOM) [Y/n/?] y > Supervisor Mode Access Prevention (X86_SMAP) [Y/n/?] y > Enable seccomp to safely compute untrusted bytecode (SECCOMP) [Y/n/?] y > Enable -fstack-protector buffer overflow detection (CC_STACKPROTECTOR)=20 > [Y/n/?] y > Timer frequency > =C2=A0 1. 100 HZ (HZ_100) > > 2. 250 HZ (HZ_250) > =C2=A0 3. 300 HZ (HZ_300) > =C2=A0 4. 1000 HZ (HZ_1000) > choice[1-4?]: 2 > kexec system call (KEXEC) [Y/n/?] y > kernel crash dumps (CRASH_DUMP) [Y/n/?] y > kexec jump (KEXEC_JUMP) [N/y/?] n > Physical address where the kernel is loaded (PHYSICAL_START)=20 > [0x1000000] 0x1000000 > Build a relocatable kernel (RELOCATABLE) [Y/n/?] y > Alignment value to which kernel should be aligned (PHYSICAL_ALIGN)=20 > [0x1000000] 0x1000000 > Support for hot-pluggable CPUs (HOTPLUG_CPU) [Y/?] y > =C2=A0 Set default setting of cpu0_hotpluggable (BOOTPARAM_HOTPLUG_CPU0= )=20 > [N/y/?] n > =C2=A0 Debug CPU0 hotplug (DEBUG_HOTPLUG_CPU0) [N/y/?] n > Compat VDSO support (COMPAT_VDSO) [N/y/?] n > Built-in kernel command line (CMDLINE_BOOL) [N/y/?] n > # > # configuration written to .config > # > //------------------------------------- > > I think this might because of the difference between two patch files,=20 > although both of the two patch file for a same version kernel. > I give it all the default option. > Then I disable the I-pipe-legacy interface support with the "make=20 > menuconfig" > The kernel-3.10.32-rtai-5.1 was updated successful too. > > But, > when I make the RTAI 5.1, below compiling error pop out: > > //---------------------------------------------------- > > Making all in calibration > make[5]: Entering directory=20 > '/media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration' > make[6]: Entering directory=20 > '/media/guoissac/13GDATA/rtai-5.1/base/sched/liblxrt' > make[6]: warning: jobserver unavailable: using -j1.=C2=A0 Add '+' to pa= rent=20 > make rule. > make[6]: Entering directory '/media/guoissac/13GDATA/linux-3.10.32-5.1' > make[6]: 'liblxrt.la <http://liblxrt.la>' is up to date. > make[6]: Leaving directory=20 > '/media/guoissac/13GDATA/rtai-5.1/base/sched/liblxrt' > /bin/bash ../../../../libtool =C2=A0--tag=3DCC =C2=A0 --mode=3Dlink cc = =C2=A0 =C2=A0 -o=20 > calibrate calibrate-calibrate.o ../../../sched/liblxrt/liblxrt.la=20 > <http://liblxrt.la> -lpthread > > *** Warning: Linking the executable calibrate against the loadable modu= le > *** liblxrt.so is not portable! > libtool: link: cc -o .libs/calibrate calibrate-calibrate.o=20 > =C2=A0../../../sched/liblxrt/.libs/liblxrt.so -lpthread > =C2=A0 CC [M]=20 > =C2=A0/media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration/smi-mo= dule.o > /media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration/smi-module.c= :=20 > In function =E2=80=98check_smi_count=E2=80=99: > /media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration/smi-module.c= :280:4:=20 > error: implicit declaration of function =E2=80=98rdmsrl_safe_on_cpu=E2=80= =99=20 > [-Werror=3Dimplicit-function-declaration] > =C2=A0 =C2=A0 ret =3D rdmsrl_safe_on_cpu(cpuid, MSR_SMI_COUNT, &q); > =C2=A0 =C2=A0 ^ > In file included from include/linux/bitops.h:22:0, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from incl= ude/linux/kernel.h:10, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from=20 > /media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration/smi-module.c= :26: > /media/guoissac/13GDATA/linux-3.10.32-5.1/arch/x86/include/asm/bitops.h= :321:8:=20 > warning: =E2=80=98*((void *)&p+20)=E2=80=99 is used uninitialized in th= is function=20 > [-Wuninitialized] > =C2=A0 =C2=A0(addr[nr / BITS_PER_LONG])) !=3D 0; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^ > /media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration/smi-module.c= :274:21:=20 > note: =E2=80=98p=E2=80=99 was declared here > =C2=A0 struct cpuinfo_x86 p; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0^ > cc1: some warnings being treated as errors > scripts/Makefile.build:308: recipe for target=20 > '/media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration/smi-module.= o'=20 > failed > make[7]: ***=20 > [/media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration/smi-module.= o]=20 > Error 1 > Makefile:1224: recipe for target=20 > '_module_/media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration'=20 > failed > make[6]: ***=20 > [_module_/media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration]=20 > Error 2 > make[6]: Leaving directory '/media/guoissac/13GDATA/linux-3.10.32-5.1' > GNUmakefile:916: recipe for target 'rtai_smi.ko' failed > make[5]: *** [rtai_smi.ko] Error 2 > make[5]: Leaving directory=20 > '/media/guoissac/13GDATA/rtai-5.1/base/arch/x86/calibration' > GNUmakefile:406: recipe for target 'all-recursive' failed > make[4]: *** [all-recursive] Error 1 > make[4]: Leaving directory=20 > '/media/guoissac/13GDATA/rtai-5.1/base/arch/x86' > GNUmakefile:428: recipe for target 'all-recursive' failed > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory '/media/guoissac/13GDATA/rtai-5.1/base/arch' > GNUmakefile:423: recipe for target 'all-recursive' failed > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory '/media/guoissac/13GDATA/rtai-5.1/base' > GNUmakefile:486: recipe for target 'all-recursive' failed > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory '/media/guoissac/13GDATA/rtai-5.1' > GNUmakefile:417: recipe for target 'all' failed > make: *** [all] Error 2 > //----------------------------------------------------------------- > > Any suggestion of solve this problem? > > Many Thanks. > > Best Regards > Guo Yunfei > > > > On Mon, Feb 12, 2018 at 10:47 PM, Paolo Mantegazza=20 > <[email protected] <mailto:[email protected]>> wrote: > > I see a lot of confusion in what you write. > > There is no difference in installing RTAI on any distribution of > choice, it is the same for all of them. > First you have to learn how to make and boot a new kernel, taken > form kernel.org <http://kernel.org> and associated to any of the > patches coming with your RTAI of choice. For that read the README > in the LINUX kernel, with special care to the options:=C2=A0 "make > localmodconfig" and=C2=A0 "make localyesconfig". > Once you have a LINUX .config that works, you'll remake the kernel > anew, applying the related RTAI patch first and using the working > .config you have. > > Paolo > > > > On 02/12/2018 02:23 PM, Guo Yunfei wrote: >> >> Hi. everybody. >> >> I always install RTAI 4.0 and RTAI 4.1 on Debian as below steps >> and using it perfect. >> When I install RTAI 5.1 as same steps. =C2=A0the RTAI 5.1 can be m= ake >> successfully. >> But the system not reponse after I test the latency by that "run >> " command. >> >> Could some one give me a guide of installation of RTAI 5.1 on Debi= an? >> >> Best Regards >> Guo Yunfei >> >> My steps: >> //------------------------------------------ >> This document describes how to install RTAI 4.0 on a Ubuntu >> 12.04.4 LTS using a 3.8.13 kernel, either 32bit or 64 bit version. >> >> >> Prerequisites >> >> Install Ubuntu 12.04.4 using one of the following images: >> >> http://releases.ubuntu.com/precise/ubuntu-12.04.4-desktop-amd64.is= o >> <http://releases.ubuntu.com/precise/ubuntu-12.04.4-desktop-amd64.i= so> >> >> http://releases.ubuntu.com/precise/ubuntu-12.04.4-desktop-i386.iso >> <http://releases.ubuntu.com/precise/ubuntu-12.04.4-desktop-i386.is= o> >> >> And then follow the installation instructions here: >> https://help.ubuntu.com/community/Installation/ >> <https://help.ubuntu.com/community/Installation/> >> >> >> Introduction >> >> If the ROOT user is not created yet, log as your usual user, open >> a terminal and type -> >> >> # sudo su - >> # sudo passwd root >> >> Enter the password for the ROOT user. Log out and log in as Root. >> >> Open a terminal and update your package repository source file : >> >> # apt-get update >> >> Some tools are required in order to set up the kernel (You need >> to be connected to Internet) >> >> # apt-get -y install qt3-apps-dev build-essential kernel-package v= im cvs >> >> >> I - Kernel source and RTAI download >> >> # cd /usr/src/ >> >> Get the kernel source from kernel.org <http://kernel.org> >> >> # wgethttps://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.13.ta= r.bz2 >> <https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.13.tar.bz2= > >> # tar xf linux-3.8.13.tar.bz2 >> >> Get RTAI 4.0 from the RTAI homepage >> >> # wgethttps://www.rtai.org/userfiles/downloads/RTAI/rtai-4.0.tar.b= z2 >> <https://www.rtai.org/userfiles/downloads/RTAI/rtai-4.0.tar.bz2> >> tar xf rtai-4.0.tar.bz2 >> >> >> II - Kernel Preparation >> >> # cd /usr/src >> # ln -s linux-3.8.13 linux >> # cd linux >> >> >> Applying patch >> >> If you want first simulate the patch application, use "--dry-run" >> after "-p1". It won't touch any files on your computer, but you >> can see if you get Hunks or not. >> >> # patch -p1 < /usr/src/rtai-4.0/base/arch/x86/patches/hal-linux-3.= 8.13-x86-4.patch >> >> >> Kernel Configuration >> >> # cd /usr/src/linux >> >> In order to retrieve your current kernel configuration : (If at >> this step, questions are asked give the answer by default) >> >> # make oldconfig >> >> Now we modify the kernel settings the way we need it (NOTE: some >> parameters cannot be disabled with xconfig - better to use >> menuconfig): >> >> # make xconfig >> >> Set up the kernel settings as follows : >> >> *Processor type and features* >> >> -> Processor family =3D /Select yours >> /-> Maximum number of CPUs (NR_CPUS) =3D /Set your number (it's >> generally "4")/ >> -> SMT (Hyperthreading) scheduler support =3D /DISABLE IT/ >> >> *Power Management and ACPI options* >> >> CPU idle PM support >> -> Cpu idle Driver for Intel Processors =3D /DISABLE IT >> /-> ACPI (Advanced Configuration and Power Interface) Support -> >> PROCESSOR =3D /DISABLE IT >> /-> APM (Advanced Power Management) BIOS support =3D /DISABLE IT >> /-> CPU Frequency scaling -> CPU Frequency scaling =3D /DISABLE IT >> /CPU idle PM support =3D DISABLE IT >> >> Save and Quit >> >> Note (Sylvain, May 2014): these settings should be verified in >> the .config file, since there have been cases that xconfig does >> not do it correctly. >> >> >> *III - Kernel Compilation* >> >> # cd /usr/src/linux >> # make && make modules_install && make install >> >> NOTE: The compilation time might be decreased by passing the >> flags -jX (with X=3Dnumber of CPUs you have on your machine). This >> has for effect to parallelize the kernel compilation between the >> CPUs. This will take ~1 hour. >> >> >> Kernel Boot Options >> >> This is very important - it took us (and the guys at the RTAI >> mailing list) ages to find that special config that makes >> everything work smoothly! >> >> You need to add the following option to the kernel at boot time >> >> lapic=3Dnotscdeadline >> >> The best way to do this is in /etc/default/grub in the field >> GRUB_CMDLINE_LINUX_DEFAULT, i.e., >> >> GRUB_CMDLINE_LINUX_DEFAULT=3D"quiet splash lapic=3Dnotscdeadline" >> >> You will also have to change the GRUB_DEFAULT to the number that >> corresponds to the new kernel. >> >> Finally run update-grub and reboot >> >> # update-grub >> # reboot >> >> >> *IV - RTAI installation* >> >> Now that the system has restarted, make sure you booted on your >> new OpenAir >> <https://twiki.eurecom.fr/twiki/bin/edit/OpenAirInterface/OpenAir?= topicparent=3DOpenAirInterface.OpenAirKernel357Ubuntu1204x86Setups;nowysi= wyg=3D0>=C2=A0kernel >> >> # uname -r >> >> Should give you "3.8.13" as result >> >> # cd /usr/src/rtai-4.0 >> # make xconfig >> >> UPDATE the CPUs number according to your configuration and >> disable RTAI_USE_NEWERR and real-time COMEDI support in Add-ons. >> Enable the watchdog, CONFIG_RTAI_WD. >> >> Save and quit. If any error occurs here, solve it and repeat this >> "make xconfig" step until it's OK >> >> # make && make install >> >> Add what follows, to the end of the file ~/.bashrc >> >> export PATH=3D/usr/realtime/bin:$PATH >> export LD_LIBRARY_PATH=3D$LD_LIBRARY_PATH:/usr/realtime/lib >> >> Create a file /etc/ld.so.conf.d/rtai.conf with the content >> >> /usr/realtime/lib >> >> and run "ldconfig"in order to take it into account >> >> We will test the RTAI system via the latency test >> >> # cd /usr/realtime/testsuite/kern/latency >> # ./run >> //----------------------------------------------------------------= ------------------------- >> >> >> _______________________________________________ >> Rtai mailing list >> [email protected] <mailto:[email protected]> >> https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai >> <https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai> > > > > _______________________________________________ > Rtai mailing list > [email protected] <mailto:[email protected]> > https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai > <https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai> > > --------------DCBA6CB38BC815FC09BEDC24 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf= -8"> </head> <body text=3D"#000000" bgcolor=3D"#FFFFFF"> <div class=3D"moz-cite-prefix">I've just a single suggestion! Give me root access to your machine, lettiing me to find some time to work on it.<br> Paolo<br> <br> On 02/14/2018 07:44 AM, Guo Yunfei wrote:<br> </div> <blockquote type=3D"cite" cite=3D"mid:CAN_Un=3DW7bMndbTfMRmE7qSM9A2uX1cuaNt5NXre=3D=3DgSxoXMd7w@mai= l.gmail.com"> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Du= tf-8"> <div dir=3D"ltr">Dear Paolo:<br> <br> <div><br> </div> <div>I install the RTAI 5.1 as the follow process:</div> <div><br> </div> <div>First,</div> <div>I intstall RTAI 4.1 successful without the math function kernel support. its latency test is good.</div> <div>My envieronment is Debian 8.9.0 , kernel 3.10.32, RTAI 4.1.<= /div> <div><br> </div> <div>Then, for the RTAI 5.1 installation,</div> <div>I still using kernel 3.10.32 patch file in RTAI 5.1 package=C2=A0</div> <div>I "make oldconfig" from above RTAI 4.1 environment. I just choose the same kernel version for it has running good with my RTAI 4.1</div> <div>=C2=A0it is same kernel version ,so not much difference, but still has some message pop out like below:</div> <div><br> </div> <div>//------------------------------------</div> <div> <div><a class=3D"moz-txt-link-abbreviated" href=3D"mailto:root@= debian:/media/guoissac/13GDATA/linux-3.10.32-5.1#">root@debian:/media/guo= issac/13GDATA/linux-3.10.32-5.1#</a> make oldconfig</div> <div>=C2=A0 HOSTCC =C2=A0scripts/basic/fixdep</div> <div>=C2=A0 HOSTCC =C2=A0scripts/kconfig/conf.o</div> <div>=C2=A0 SHIPPED scripts/kconfig/zconf.tab.c</div> <div>=C2=A0 SHIPPED scripts/kconfig/zconf.lex.c</div> <div>=C2=A0 SHIPPED scripts/kconfig/zconf.hash.c</div> <div>=C2=A0 HOSTCC =C2=A0scripts/kconfig/zconf.tab.o</div> <div>In file included from scripts/kconfig/zconf.tab.c:2503:0:<= /div> <div>scripts/kconfig/menu.c: In function =E2=80=98get_symbol_st= r=E2=80=99:</div> <div>scripts/kconfig/menu.c:567:18: warning: =E2=80=98jump=E2=80= =99 may be used uninitialized in this function [-Wmaybe-uninitialized]</= div> <div>=C2=A0 =C2=A0 =C2=A0jump->offset =3D r->len - 1;</di= v> <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 ^</div> <div>scripts/kconfig/menu.c:528:19: note: =E2=80=98jump=E2=80=99= was declared here</div> <div>=C2=A0 struct jump_key *jump;</div> <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0^</div> <div>=C2=A0 HOSTLD =C2=A0scripts/kconfig/conf</div> <div>scripts/kconfig/conf --oldconfig Kconfig</div> <div>#</div> <div># using defaults found in /boot/config-3.10.32-rt-4.1</div= > <div>#</div> <div>*</div> <div>* Restart config...</div> <div>*</div> <div>*</div> <div>* Processor type and features</div> <div>*</div> <div>DMA memory allocation support (ZONE_DMA) [Y/n/?] y</div> <div>Symmetric multi-processing support (SMP) [Y/n/?] y</div> <div>Enable MPS table (X86_MPPARSE) [Y/n/?] y</div> <div>Support for big SMP systems with more than 8 CPUs (X86_BIGSMP) [Y/n/?] y</div> <div>Support for extended (non-PC) x86 platforms (X86_EXTENDED_PLATFORM) [N/y/?] n</div> <div>Goldfish (Virtual Platform) (X86_GOLDFISH) [N/y/?] n</div> <div>Eurobraille/Iris poweroff module (X86_32_IRIS) [N/m/y/?] n</div> <div>Single-depth WCHAN output (SCHED_OMIT_FRAME_POINTER) [Y/n/?] y</div> <div>*</div> <div>* Linux guest support</div> <div>*</div> <div>Linux guest support (HYPERVISOR_GUEST) [Y/n/?] y</div> <div>Memtest (MEMTEST) [Y/n/?] y</div> <div>Processor family</div> <div>=C2=A0 1. 486 (M486)</div> <div>=C2=A0 2. 586/K5/5x86/6x86/6x86MX (M586)</div> <div>=C2=A0 3. Pentium-Classic (M586TSC)</div> <div>=C2=A0 4. Pentium-MMX (M586MMX)</div> <div>=C2=A0 5. Pentium-Pro (M686)</div> <div>=C2=A0 6. Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII)<= /div> <div>=C2=A0 7. Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII)</div> <div>=C2=A0 8. Pentium M (MPENTIUMM)</div> <div>=C2=A0 9. Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xe= on (MPENTIUM4)</div> <div>=C2=A0 10. K6/K6-II/K6-III (MK6)</div> <div>=C2=A0 11. Athlon/Duron/K7 (MK7)</div> <div>=C2=A0 12. Opteron/Athlon64/Hammer/K8 (MK8)</div> <div>=C2=A0 13. Crusoe (MCRUSOE)</div> <div>=C2=A0 14. Efficeon (MEFFICEON)</div> <div>=C2=A0 15. Winchip-C6 (MWINCHIPC6)</div> <div>=C2=A0 16. Winchip-2/Winchip-2A/Winchip-3 (MWINCHIP3D)</di= v> <div>=C2=A0 17. AMD Elan (MELAN)</div> <div>=C2=A0 18. GeodeGX1 (MGEODEGX1)</div> <div>=C2=A0 19. Geode GX/LX (MGEODE_LX)</div> <div>=C2=A0 20. CyrixIII/VIA-C3 (MCYRIXIII)</div> <div>=C2=A0 21. VIA C3-2 (Nehemiah) (MVIAC3_2)</div> <div>=C2=A0 22. VIA C7 (MVIAC7)</div> <div>=C2=A0 23. Core 2/newer Xeon (MCORE2)</div> <div>> 24. Intel Atom (MATOM)</div> <div>choice[1-24]: 24</div> <div>Generic x86 support (X86_GENERIC) [Y/n/?] y</div> <div>*</div> <div>* Supported processor vendors</div> <div>*</div> <div>Supported processor vendors (PROCESSOR_SELECT) [N/y/?] n</= div> <div>HPET Timer Support (HPET_TIMER) [Y/n/?] y</div> <div>Enable DMI scanning (DMI) [Y/n/?] y</div> <div>Maximum number of CPUs (NR_CPUS) [4] 4</div> <div>SMT (Hyperthreading) scheduler support (SCHED_SMT) [N/y/?] n</div> <div>Multi-core scheduler support (SCHED_MC) [Y/n/?] y</div> <div>Preemption Model</div> <div>=C2=A0 1. No Forced Preemption (Server) (PREEMPT_NONE)</di= v> <div>> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)</div> <div>=C2=A0 3. Preemptible Kernel (Low-Latency Desktop) (PREEMP= T)</div> <div>choice[1-3]: 2</div> <div>Interrupt pipeline (IPIPE) [Y/n/?] y</div> <div>=C2=A0 I-pipe legacy interface (IPIPE_LEGACY) [Y/n/?] y</d= iv> <div>Reroute for broken boot IRQs (X86_REROUTE_FOR_BROKEN_BOOT_IRQS) [Y/n/?] y</div> <div>Machine Check / overheating reporting (X86_MCE) [Y/n/?] y<= /div> <div>=C2=A0 Intel MCE features (X86_MCE_INTEL) [Y/n/?] y</div> <div>=C2=A0 AMD MCE features (X86_MCE_AMD) [Y/n/?] y</div> <div>=C2=A0 Support for old Pentium 5 / WinChip machine checks (X86_ANCIENT_MCE) [N/y/?] n</div> <div>Machine check injector support (X86_MCE_INJECT) [M/n/y/?] m</div> <div>Enable VM86 support (VM86) [Y/n/?] y</div> <div>Toshiba Laptop support (TOSHIBA) [M/n/y/?] m</div> <div>Dell laptop support (I8K) [M/n/y/?] m</div> <div>Enable X86 board specific fixups for reboot (X86_REBOOTFIXUPS) [Y/n/?] y</div> <div>CPU microcode loading support (MICROCODE) [Y/n/m/?] y</div= > <div>=C2=A0 Intel microcode loading support (MICROCODE_INTEL) [Y/n/?] y</div> <div>=C2=A0 AMD microcode loading support (MICROCODE_AMD) [N/y/= ?] n</div> <div>Early load microcode (MICROCODE_INTEL_EARLY) [Y/n/?] y</di= v> <div>/dev/cpu/*/msr - Model-specific register support (X86_MSR) [M/n/y/?] m</div> <div>/dev/cpu/*/cpuid - CPU information support (X86_CPUID) [M/n/y/?] m</div> <div>High Memory Support</div> <div>=C2=A0 1. off (NOHIGHMEM)</div> <div>=C2=A0 2. 4GB (HIGHMEM4G)</div> <div>> 3. 64GB (HIGHMEM64G)</div> <div>choice[1-3]: 3</div> <div>Memory split</div> <div>> 1. 3G/1G user/kernel split (VMSPLIT_3G)</div> <div>=C2=A0 2. 2G/2G user/kernel split (VMSPLIT_2G)</div> <div>=C2=A0 3. 1G/3G user/kernel split (VMSPLIT_1G)</div> <div>choice[1-3?]: 1</div> <div>PAE (Physical Address Extension) Support (X86_PAE) [Y/?] y</div> <div>Numa Memory Allocation and Scheduler Support (NUMA) [N/y/?] n</div> <div>Memory model</div> <div>> 1. Flat Memory (FLATMEM_MANUAL)</div> <div>=C2=A0 2. Sparse Memory (SPARSEMEM_MANUAL)</div> <div>choice[1-2]: 1</div> <div>Allow for balloon memory compaction/migration (BALLOON_COMPACTION) [Y/n/?] y</div> <div>Allow for memory compaction (COMPACTION) [Y/n/?] y</div> <div>Page migration (MIGRATION) [Y/?] y</div> <div>Enable bounce buffers (BOUNCE) [Y/n/?] y</div> <div>Enable KSM for page merging (KSM) [Y/n/?] y</div> <div>Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [65536] 65536</div> <div>Enable recovery from hardware memory errors (MEMORY_FAILURE) [Y/n/?] y</div> <div>=C2=A0 HWPoison pages injector (HWPOISON_INJECT) [M/n/y] m= </div> <div>Transparent Hugepage Support (TRANSPARENT_HUGEPAGE) [N/y/?] (NEW)=C2=A0</div> <div>Cross Memory Support (CROSS_MEMORY_ATTACH) [Y/n/?] y</div> <div>Enable cleancache driver to cache clean pages if tmem is present (CLEANCACHE) [N/y/?] n</div> <div>Enable frontswap to cache swap pages if tmem is present (FRONTSWAP) [Y/n/?] y</div> <div>Allocate 3rd-level pagetables from highmem (HIGHPTE) [Y/n/?] y</div> <div>Check for low memory corruption (X86_CHECK_BIOS_CORRUPTION) [N/y/?] n</div> <div>Amount of low memory, in kilobytes, to reserve for the BIOS (X86_RESERVE_LOW) [64] 64</div> <div>Math emulation (MATH_EMULATION) [N/y/?] n</div> <div>MTRR (Memory Type Range Register) support (MTRR) [Y/n/?] y</div> <div>=C2=A0 MTRR cleanup support (MTRR_SANITIZER) [Y/n/?] y</di= v> <div>=C2=A0 =C2=A0 MTRR cleanup enable value (0-1) (MTRR_SANITIZER_ENABLE_DEFAULT) [0] 0</div> <div>=C2=A0 =C2=A0 MTRR cleanup spare reg num (0-7) (MTRR_SANITIZER_SPARE_REG_NR_DEFAULT) [1] 1</div> <div>=C2=A0 x86 PAT support (X86_PAT) [Y/n/?] y</div> <div>x86 architectural random number generator (ARCH_RANDOM) [Y/n/?] y</div> <div>Supervisor Mode Access Prevention (X86_SMAP) [Y/n/?] y</di= v> <div>Enable seccomp to safely compute untrusted bytecode (SECCOMP) [Y/n/?] y</div> <div>Enable -fstack-protector buffer overflow detection (CC_STACKPROTECTOR) [Y/n/?] y</div> <div>Timer frequency</div> <div>=C2=A0 1. 100 HZ (HZ_100)</div> <div>> 2. 250 HZ (HZ_250)</div> <div>=C2=A0 3. 300 HZ (HZ_300)</div> <div>=C2=A0 4. 1000 HZ (HZ_1000)</div> <div>choice[1-4?]: 2</div> <div>kexec system call (KEXEC) [Y/n/?] y</div> <div>kernel crash dumps (CRASH_DUMP) [Y/n/?] y</div> <div>kexec jump (KEXEC_JUMP) [N/y/?] n</div> <div>Physical address where the kernel is loaded (PHYSICAL_START) [0x1000000] 0x1000000</div> <div>Build a relocatable kernel (RELOCATABLE) [Y/n/?] y</div> <div>Alignment value to which kernel should be aligned (PHYSICAL_ALIGN) [0x1000000] 0x1000000</div> <div>Support for hot-pluggable CPUs (HOTPLUG_CPU) [Y/?] y</div> <div>=C2=A0 Set default setting of cpu0_hotpluggable (BOOTPARAM_HOTPLUG_CPU0) [N/y/?] n</div> <div>=C2=A0 Debug CPU0 hotplug (DEBUG_HOTPLUG_CPU0) [N/y/?] n</= div> <div>Compat VDSO support (COMPAT_VDSO) [N/y/?] n</div> <div>Built-in kernel command line (CMDLINE_BOOL) [N/y/?] n</div= > <div>#</div> <div># configuration written to .config</div> <div>#</div> </div> <div>//-------------------------------------</div> <div><br> </div> <div>I think this might because of the difference between two patch files, although both of the two patch file for a same version kernel.</div> <div>I give it all the default option.</div> <div>Then I disable the I-pipe-legacy interface support with the "make menuconfig"</div> <div>The kernel-3.10.32-rtai-5.1 was updated successful too.</div= > <div><br> </div> <div>But,</div> <div>when I make the RTAI 5.1, below compiling error pop out:</di= v> <div><br> </div> <div>//----------------------------<wbr>------------------------<= /div> <div><br> </div> <div> <div>Making all in calibration</div> <div>make[5]: Entering directory '/media/guoissac/13GDATA/rtai-<wbr>5.1/base/arch/x86/calibrat= ion'</div> <div>make[6]: Entering directory '/media/guoissac/13GDATA/rtai-<wbr>5.1/base/sched/liblxrt'</d= iv> <div>make[6]: warning: jobserver unavailable: using -j1.=C2=A0 = Add '+' to parent make rule.</div> <div>make[6]: Entering directory '/media/guoissac/13GDATA/<wbr>= linux-3.10.32-5.1'</div> <div>make[6]: '<a href=3D"http://liblxrt.la" target=3D"_blank" moz-do-not-send=3D"true">liblxrt.la</a>' is up to date.</di= v> <div>make[6]: Leaving directory '/media/guoissac/13GDATA/rtai-<= wbr>5.1/base/sched/liblxrt'</div> <div>/bin/bash ../../../../libtool =C2=A0--tag=3DCC =C2=A0 --mo= de=3Dlink cc =C2=A0 =C2=A0 -o calibrate calibrate-calibrate.o ../../../sched/liblxrt/<a href=3D"http://liblxrt.la" target=3D"_blank" moz-do-not-send=3D"true">liblxrt<wbr>.la<= /a> -lpthread=C2=A0</div> <div><br> </div> <div>*** Warning: Linking the executable calibrate against the loadable module</div> <div>*** liblxrt.so is not portable!</div> <div>libtool: link: cc -o .libs/calibrate calibrate-calibrate.o =C2=A0../../../sched/liblxrt/.libs/<wbr= >liblxrt.so -lpthread</div> <div>=C2=A0 CC [M] =C2=A0/media/guoissac/13GDATA/rtai-<wbr>5.1/= base/arch/x86/calibration/<wbr>smi-module.o</div> <div>/media/guoissac/13GDATA/rtai-<wbr>5.1/base/arch/x86/calibr= ation/<wbr>smi-module.c: In function =E2=80=98check_smi_count=E2=80=99:</div> <div>/media/guoissac/13GDATA/rtai-<wbr>5.1/base/arch/x86/calibr= ation/<wbr>smi-module.c:280:4: error: implicit declaration of function =E2=80=98rdmsrl_safe_= on_cpu=E2=80=99 [-Werror=3Dimplicit-function-<wbr>declaration]</div> <div>=C2=A0 =C2=A0 ret =3D rdmsrl_safe_on_cpu(cpuid, MSR_SMI_CO= UNT, &q);</div> <div>=C2=A0 =C2=A0 ^</div> <div>In file included from include/linux/bitops.h:22:0,</div> <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0from include/linux/kernel.h:10,</div> <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0from /media/guoissac/13GDATA/rtai-<wbr>5.1/base/arch/x86/calibration/<= wbr>smi-module.c:26:</div> <div>/media/guoissac/13GDATA/linux-<wbr>3.10.32-5.1/arch/x86/in= clude/<wbr>asm/bitops.h:321:8: warning: =E2=80=98*((void *)&p+20)=E2=80=99 is used unini= tialized in this function [-Wuninitialized]</div> <div>=C2=A0 =C2=A0(addr[nr / BITS_PER_LONG])) !=3D 0;</div> <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ^</div> <div>/media/guoissac/13GDATA/rtai-<wbr>5.1/base/arch/x86/calibr= ation/<wbr>smi-module.c:274:21: note: =E2=80=98p=E2=80=99 was declared here</div> <div>=C2=A0 struct cpuinfo_x86 p;</div> <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0^</div> <div>cc1: some warnings being treated as errors</div> <div>scripts/Makefile.build:308: recipe for target '/media/guoissac/13GDATA/rtai-<wbr>5.1/base/arch/x86/calibrat= ion/<wbr>smi-module.o' failed</div> <div>make[7]: *** [/media/guoissac/13GDATA/rtai-<wbr>5.1/base/a= rch/x86/calibration/<wbr>smi-module.o] Error 1</div> <div>Makefile:1224: recipe for target '_module_/media/guoissac/<wbr>13GDATA/rtai-5.1/base/arch/<wbr= >x86/calibration' failed</div> <div>make[6]: *** [_module_/media/guoissac/<wbr>13GDATA/rtai-5.= 1/base/arch/<wbr>x86/calibration] Error 2</div> <div>make[6]: Leaving directory '/media/guoissac/13GDATA/<wbr>l= inux-3.10.32-5.1'</div> <div>GNUmakefile:916: recipe for target 'rtai_smi.ko' failed</d= iv> <div>make[5]: *** [rtai_smi.ko] Error 2</div> <div>make[5]: Leaving directory '/media/guoissac/13GDATA/rtai-<= wbr>5.1/base/arch/x86/calibration'</div> <div>GNUmakefile:406: recipe for target 'all-recursive' failed<= /div> <div>make[4]: *** [all-recursive] Error 1</div> <div>make[4]: Leaving directory '/media/guoissac/13GDATA/rtai-<= wbr>5.1/base/arch/x86'</div> <div>GNUmakefile:428: recipe for target 'all-recursive' failed<= /div> <div>make[3]: *** [all-recursive] Error 1</div> <div>make[3]: Leaving directory '/media/guoissac/13GDATA/rtai-<= wbr>5.1/base/arch'</div> <div>GNUmakefile:423: recipe for target 'all-recursive' failed<= /div> <div>make[2]: *** [all-recursive] Error 1</div> <div>make[2]: Leaving directory '/media/guoissac/13GDATA/rtai-<= wbr>5.1/base'</div> <div>GNUmakefile:486: recipe for target 'all-recursive' failed<= /div> <div>make[1]: *** [all-recursive] Error 1</div> <div>make[1]: Leaving directory '/media/guoissac/13GDATA/rtai-<= wbr>5.1'</div> <div>GNUmakefile:417: recipe for target 'all' failed</div> <div>make: *** [all] Error 2</div> </div> <div>//----------------------------<wbr>-------------------------= -----<wbr>-------</div> <div><br> </div> <div>Any suggestion of solve this problem?</div> <div><br> </div> <div>Many Thanks.</div> <div><br> </div> <div>Best Regards</div> <div>Guo Yunfei</div> <div><br> </div> <div><br> </div> <div class=3D"gmail_extra"><br> <div class=3D"gmail_quote">On Mon, Feb 12, 2018 at 10:47 PM, Paolo Mantegazza <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_bla= nk" moz-do-not-send=3D"true">[email protected]</a>&g= t;</span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <div bgcolor=3D"#FFFFFF"> <div class=3D"gmail-m_4933134306362649551moz-cite-prefix"= >I see a lot of confusion in what you write. <br> <br> There is no difference in installing RTAI on any distribution of choice, it is the same for all of them.<br> First you have to learn how to make and boot a new kernel, taken form <a href=3D"http://kernel.org" target=3D"_blank" moz-do-not-send=3D"true">kernel.org= </a> and associated to any of the patches coming with your RTAI of choice. For that read the README in the LINUX kernel, with special care to the options:=C2=A0 "make localmodconfig" and=C2=A0 "make localyesconfig".<br> Once you have a LINUX .config that works, you'll remake the kernel anew, applying the related RTAI patch first and using the working .config you have.<spa= n class=3D"gmail-"><br> <br> Paolo<br> <br> <br> <br> On 02/12/2018 02:23 PM, Guo Yunfei wrote:<br> </span></div> <blockquote type=3D"cite"> <div> <div class=3D"gmail-h5"> <div dir=3D"ltr"> <div><span><br> </span></div> <div><span>Hi. everybody.</span></div> <div><span><br> </span></div> <div><span>I always install RTAI 4.0 and RTAI 4.1 on Debian as below steps and using it perfect.</span></div> <div><span>When I install RTAI 5.1 as same steps. =C2=A0the RTAI 5.1 can be make successfully.</span></div> <div><span>But the system not reponse after I test the latency by that "run " command.</spa= n></div> <div><span><br> </span></div> <div><span>Could some one give me a guide of installation of RTAI 5.1 on Debian?</span></d= iv> <div><span><br> </span></div> <div><span>Best Regards</span></div> <div><span>Guo Yunfei</span></div> <div><span><br> </span></div> <span> <div>My steps:<span><br> </span></div> <div><span>//----------------------------<wbr>-= -------------</span></div> <div>This document describes how to install RTAI 4.0 on a Ubuntu 12.04.4 LTS using a 3.8.13 kernel, either 32bit or 64 bit version.<br> </div> </span> <h4><a name=3D"m_4933134306362649551_Prerequisites" moz-do-not-send=3D"true"></a>Prerequisites</h= 4> <p>Install Ubuntu 12.04.4 using one of the following images:</p> <p><a href=3D"http://releases.ubuntu.com/precise/ubuntu-12.04.4-desktop-amd64.i= so" target=3D"_blank" moz-do-not-send=3D"true">ht= tp://releases.ubuntu.com/<wbr>precise/ubuntu-12.04.4-<wbr>desktop-amd64.i= so</a></p> <p><a href=3D"http://releases.ubuntu.com/precise/ubuntu-12.04.4-desktop-i386.is= o" target=3D"_blank" moz-do-not-send=3D"true">ht= tp://releases.ubuntu.com/<wbr>precise/ubuntu-12.04.4-<wbr>desktop-i386.is= o</a></p> <p>And then follow the installation instructions here:=C2=A0<a href=3D"https://help.ubuntu.com/community/Ins= tallation/" target=3D"_blank" moz-do-not-send=3D"true">ht= tps://help.ubuntu.com/<wbr>community/Installation/</a></p> <h4><a name=3D"m_4933134306362649551_Introduction= " moz-do-not-send=3D"true"></a>Introduction</h4= > <p>If the ROOT user is not created yet, log as your usual user, open a terminal and type -></p> <pre style=3D"color:rgb(0,0,0)"># sudo su - # sudo passwd root </pre> <p>Enter the password for the ROOT user. Log out and log in as Root.</p> <p>Open a terminal and update your package repository source file :</p> <pre style=3D"color:rgb(0,0,0)"># apt-get update </pre> <p>Some tools are required in order to set up the kernel (You need to be connected to Internet)</p> <pre style=3D"color:rgb(0,0,0)"># apt-get -y inst= all qt3-apps-dev build-essential kernel-package vim cvs </pre> <h4><a name=3D"m_4933134306362649551_I_Kernel_source= _and_RTAI_downloa" moz-do-not-send=3D"true"></a>I - Kernel sourc= e and RTAI download</h4> <pre style=3D"color:rgb(0,0,0)"># cd /usr/src/</p= re> <p>Get the kernel source from <a href=3D"http://kernel.org" target=3D"_blank" moz-do-not-send=3D"true">kernel.org</a></p> <pre style=3D"color:rgb(0,0,0)"># wget <a href=3D= "https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.13.tar.bz2" targe= t=3D"_blank" moz-do-not-send=3D"true">https://www.kernel.org/pub/<wbr>lin= ux/kernel/v3.x/linux-3.8.<wbr>13.tar.bz2</a> # tar xf linux-3.8.13.tar.bz2 </pre> <p>Get RTAI 4.0 from the RTAI homepage</p> <pre style=3D"color:rgb(0,0,0)"># wget <a href=3D= "https://www.rtai.org/userfiles/downloads/RTAI/rtai-4.0.tar.bz2" target=3D= "_blank" moz-do-not-send=3D"true">https://www.rtai.org/<wbr>userfiles/dow= nloads/RTAI/rtai-<wbr>4.0.tar.bz2</a> tar xf rtai-4.0.tar.bz2</pre> <h4><a name=3D"m_4933134306362649551_II_Kernel_Prepa= ration" moz-do-not-send=3D"true"></a>II - Kernel Preparation</h4> <pre style=3D"color:rgb(0,0,0)"># cd /usr/src # ln -s linux-3.8.13 linux # cd linux </pre> <h5><a name=3D"m_4933134306362649551_Applying_patch" moz-do-not-send=3D"true"></a>Applying patch</= h5> <p>If you want first simulate the patch application, use "--dry-run" after "-p1". It won't touch any files on your computer, but you can see if you get Hunks or not.</p> <pre style=3D"color:rgb(0,0,0)"># patch -p1 < = /usr/src/rtai-4.0/base/arch/<wbr>x86/patches/hal-linux-3.8.13-<wbr>x86-4.= patch </pre> <h5><a name=3D"m_4933134306362649551_Kernel_Configur= ation" moz-do-not-send=3D"true"></a>Kernel Configuration</h5> <pre style=3D"color:rgb(0,0,0)"># cd /usr/src/lin= ux</pre> <p>In order to retrieve your current kernel configuration : (If at this step, questions are asked give the answer by default)</p> <pre style=3D"color:rgb(0,0,0)"># make oldconfig<= /pre> <p>Now we modify the kernel settings the way we need it (NOTE: some parameters cannot be disabled with xconfig - better to use menuconfig):</p> <pre style=3D"color:rgb(0,0,0)"># make xconfig </= pre> <p>Set up the kernel settings as follows :</p> <p><strong>Processor type and features</strong></= p> <p>-> Processor family =3D=C2=A0<em>Select you= rs<br> </em>-> Maximum number of CPUs (NR_CPUS) =3D= =C2=A0<em>Set your number (it's generally "4")</em><br> -> SMT (Hyperthreading) scheduler support =3D=C2=A0<em>DISABLE IT</em></p> <p><strong>Power Management and ACPI options</str= ong><span style=3D"background-color:transparent"></span= ></p> <p>CPU idle PM support<br> <span style=3D"background-color:transparent">-&= gt; Cpu idle Driver for Intel Processors =3D=C2=A0= </span><em style=3D"background-color:transparent">DISABL= E IT<br> </em><span style=3D"background-color:transparent">-> ACPI (Advanced Configuration and Power Interface) Support -> PROCESSOR =3D=C2=A0<= /span><em style=3D"background-color:transparent">DISABL= E IT<br> </em><span style=3D"background-color:transparent">-> APM (Advanced Power Management) BIOS support =3D=C2=A0</span><em style=3D"background-color:transparent">DISABL= E IT<br> </em><span style=3D"background-color:transparent">-> CPU Frequency scaling -> CPU Frequency scaling =3D=C2=A0</span><em style=3D"background-color:transparent">DISABL= E IT<br> </em><span style=3D"background-color:transparent">CPU idle PM support =3D DISABLE IT</span></p> <p>Save and Quit</p> <p>Note (Sylvain, May 2014): these settings should be verified in the .config file, since there have been cases that xconfig does not do it correctly.</p> <h4><a name=3D"m_4933134306362649551_III_Kernel_Comp= ilation" moz-do-not-send=3D"true"></a><strong>III - Kernel Compilation</strong></h4> <pre style=3D"color:rgb(0,0,0)"># cd /usr/src/lin= ux # make && make modules_install && make install</pre> <p>NOTE: The compilation time might be decreased by passing the flags -jX (with X=3Dnumber of CPUs you have on your machine). This has for effect to parallelize the kernel compilation between the CPUs. This will take ~1 hour.</p> <h5><a name=3D"m_4933134306362649551_Kernel_Boot_Opt= ions" moz-do-not-send=3D"true"></a>Kernel Boot Options</h5> <p>This is very important - it took us (and the guys at the RTAI mailing list) ages to find that special config that makes everything work smoothly!</p> <p>You need to add the following option to the kernel at boot time</p> <pre style=3D"color:rgb(0,0,0)">lapic=3Dnotscdead= line</pre> <p>The best way to do this is in /etc/default/grub in the field GRUB_CMDLINE_LINUX_DEFAULT, i.e.,</p> <pre style=3D"color:rgb(0,0,0)">GRUB_CMDLINE_LINU= X_DEFAULT=3D"<wbr>quiet splash lapic=3Dnotscdeadline"</pre> <p>You will also have to change the GRUB_DEFAULT to the number that corresponds to the new kernel.</p> <p>Finally run update-grub and reboot</p> <pre style=3D"color:rgb(0,0,0)"># update-grub # reboot </pre> <h4><a name=3D"m_4933134306362649551_IV_RTAI_install= ation" moz-do-not-send=3D"true"></a><strong>IV - RTA= I installation</strong></h4> <p>Now that the system has restarted, make sure you booted on your new=C2=A0<span class=3D"gmail-m_4933134306362649551gmail-twi= kiNewLink"><a href=3D"https://twiki.eurecom.fr/twiki/bin/edit/OpenAirInterface/OpenAir?= topicparent=3DOpenAirInterface.OpenAirKernel357Ubuntu1204x86Setups;nowysi= wyg=3D0" rel=3D"nofollow" title=3D"OpenAir (this top= ic does not yet exist; you can create it)" target=3D"_blank" moz-do-not-send=3D"true">= OpenAir</a></span>=C2=A0kernel</p> <pre style=3D"color:rgb(0,0,0)"># uname -r </pre> <p>Should give you "3.8.13" as result</p> <pre style=3D"color:rgb(0,0,0)"># cd /usr/src/rta= i-4.0 =20 # make xconfig =20 </pre> <p>UPDATE the CPUs number according to your configuration and disable RTAI_USE_NEWERR and real-time COMEDI support in Add-ons. Enable the watchdog, CONFIG_RTAI_WD.</p> <p>Save and quit. If any error occurs here, solve it and repeat this "make xconfig" step until it's OK</p> <pre style=3D"color:rgb(0,0,0)"># make &&= make install </pre> <p>Add what follows, to the end of the file ~/.bashrc</p> <pre style=3D"color:rgb(0,0,0)">export PATH=3D/us= r/realtime/bin:$PATH=20 export LD_LIBRARY_PATH=3D$LD_LIBRARY_<wbr>PATH:/usr/realtime/lib </pre> <p>Create a file /etc/ld.so.conf.d/rtai.conf with the content</p> <pre style=3D"color:rgb(0,0,0)">/usr/realtime/lib= </pre> <p>and run "ldconfig"in order to take it into account</p> <p>We will test the RTAI system via the latency test</p> <pre style=3D"color:rgb(0,0,0)"># cd /usr/realtim= e/testsuite/kern/<wbr>latency =20 # ./run </pre> <div>//----------------------------<wbr>---------= ---------------------<wbr>------------------------------<wbr>-</div> </div> <br> <fieldset class=3D"gmail-m_4933134306362649551mimeAttachmen= tHeader"></fieldset> <br> </div> </div> <span class=3D"gmail-"> <pre>______________________________<wbr>_____________= ____ Rtai mailing list <a class=3D"gmail-m_4933134306362649551moz-txt-link-abbreviated" href=3D"= mailto:[email protected]" target=3D"_blank" moz-do-not-send=3D"true">Rtai@rta= i.org</a> <a class=3D"gmail-m_4933134306362649551moz-txt-link-freetext" href=3D"htt= ps://mail.rtai.org/cgi-bin/mailman/listinfo/rtai" target=3D"_blank" moz-d= o-not-send=3D"true">https://mail.rtai.org/cgi-bin/<wbr>mailman/listinfo/r= tai</a></pre> </span></blockquote> <p><br> </p> </div> <br> ______________________________<wbr>_________________<br> Rtai mailing list<br> <a href=3D"mailto:[email protected]" moz-do-not-send=3D"true">R= [email protected]</a><br> <a href=3D"https://mail.rtai.org/cgi-bin/mailman/listinfo/rt= ai" rel=3D"noreferrer" target=3D"_blank" moz-do-not-send=3D"t= rue">https://mail.rtai.org/cgi-bin/<wbr>mailman/listinfo/rtai</a><br> </blockquote> </div> <br> </div> </div> </blockquote> <p><br> </p> </body> </html> --------------DCBA6CB38BC815FC09BEDC24-- --===============2403041165316169248== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Rtai mailing list [email protected] https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai --===============2403041165316169248==--