Am 02.12.2012 um 11:25 schrieb Anders Wallin: > On Fri, Nov 2, 2012 at 5:18 PM, Michael Haberler <[email protected]> wrote: > >> I have now integrated the RT-PREEMPT branch as provided by Charles, added >> the now-working Xenomai-userland thread style, and massaged configure to >> deal with all of this. The Xenomai-kernel branch I reported about yesterday >> is fully integrated. If you played with that branch, it's safe to switch. >> this adds the following scenarios: >> ./configure --with-threads=xenomai-user >> ./configure --with-threads=rt-preempt-user >> ./configure --with-threads=rtai >> ./configure --enable-simulator [--enable-drivers for the hal_parport >> usermode driver] >> for the RT-PREEMT flavor, please install >> >> http://static.mah.priv.at/public/xenomai-debs/linux-headers-3.4.13-rt-preempt-rt22+_0.1_i386.deb >> >> http://static.mah.priv.at/public/xenomai-debs/linux-image-3.4.13-rt-preempt-rt22+_0.1_i386.deb >> The notes from README.xenomai wrt initrd and update-grub apply as well. >> Please pull from >> http://git.mah.priv.at/gitweb/emc2-dev.git/shortlog/refs/heads/rtos-integration-preview1 >>
I will document this in the manual (not Wiki, because barely anybody feels Wiki content carries an update/keep current obligation) as this approaches merge-readiness, which it isnt quite yet, but 'between the lines', here you go: > > For mere mortals (not kernel hacker gurus), would it be possible to write > down a step-by-step guide for how to test these new developments on e.g. > Ubuntu 12.04LTS or 12.10? > I'd be happy to write down some notes in the wiki, but I don't know all the > steps yet... I am doing something like this: > 1. get michael's kernel repo from git://git.mah.priv.at/linuxcnc-kernel yes > 2. checkout the branch you want (xenomai, rt-preempt) yes > 3. make xconfig (just defaults are OK?), make look in the toplevel linuxcnc subdirectory of that branch. This should contain configs which are known work, and a build script. Dont start inventing configs from scratch, this has been a loooong path to arrive at what's found there > 4. what now? Move the bzImage to /boot ? How do I get it to show up in the > GRUB boot menu? if you use my build scripts - just install the resulting .debs with dpkg -i <debnames ...> if you do it manually, post build, you do the: make modules_install headers_install yes, move bzImage to /boot/vmlinuz-..... then update-initramfs -c -k <kernel-version> and 'update-grub' > > as for the linuxcnc part I think I can manage that, following the "install > from source" guide with minor modifications from here > http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Installing_LinuxCNC there's a longish list of options, some old gone, the important ones are: given no option, configure tries to determine the current kernel version and inspect /boot/config-`uname -r` to see what's running, and will set thread style appropriately. For xenomai it defaults to --with-threads=xenomai-user, and for RT_PREEMPT it defaults to --with-threads=rt-preempt-user. RTAI works without further ado; you can always cross-build by forcing a thread style and pointing to a kernel config by --with-kernel=/boot/config-<kernelversion>. --with-threads=posix # the old simulator build; you can add --enable-drivers which will build a simulator with hal_parport - technically its not a simulator anymore but it can drive a machine, however with absolutely lousy latency, this is really good only for non-RT type standalone applications when you dont need RT behaviour ad dont want to/cannot install an RT kernel --with-threads=xenomai-user # this is likely what you want --with-threads=rt-preempt-user # does work to but has signifcantly worse latency values than xenomai-ser for platforms we have: --with-platform=beaglebone and --with-platform=raspberry ; defaults to PC > > On x86 hardware, are there any particular reasons for choosing between > rt-preempt and xenomai? see above > Are both of these kernels something everyone DIY builds, or are there > stable and updated repos for the kernels? currently only DIY builds; and chances for Xenomai stock kernels are anywhere from none to homooeopathic; with RT_PREEMPT it's very likely that a stock kernel could be used. > Did anyone compare RTAI vs rt-preempt vs xenomai on the same hardware? Will > it make any difference for applications where only a servo-thread at ca 1ms > is used? latency ordering is: RTAI, Xenomai-User, Xenomai-Kernel, RT_PREEMPT, Posix from best to worse I would think for a servo config the xenomai-user version would work, likely also rt-preempt NB: we dont have PCI drivers yet, so no hostmot and colleagues! -m > > Anders > ------------------------------------------------------------------------------ > Keep yourself connected to Go Parallel: > DESIGN Expert tips on starting your parallel project right. > http://goparallel.sourceforge.net/ > _______________________________________________ > Emc-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-developers ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: DESIGN Expert tips on starting your parallel project right. http://goparallel.sourceforge.net/ _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
