Hi Dimitar,

Here are some things that will help you with the Stretch image:

### 3. Install PREEMPT_RT kernel

```bash
cd /opt/scripts/tools/
sudo su
git pull
./update_kernel.sh --ti-rt-channel --lts-4_4
```

### 4. Setup UIO

Old bootloader on eMMC might cause conflicts.

```bash
sudo dd if=/dev/zero of=/dev/mmcblk1 count=1 seek=1 bs=128k
```

In `/boot/uEnv.txt` change:
```
###Disable auto loading of virtual capes (emmc/video/wireless/adc)
#disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
#disable_uboot_overlay_adc=1
```

### Install Machinekit - arceye version
```bash
su -c 'echo "deb http://deb.mgware.co.uk/ stretch main" >> 
/etc/apt/sources.list.d/mgware.list'
wget -O /tmp/[email protected] 
http://deb.mgware.co.uk/[email protected] 
sudo apt-key add /tmp/[email protected]
sudo apt-get update
```

You may need to run machinekit with FLAVOR=rt-preempt.

Cheers,
Alexander



Am Montag, 9. Oktober 2017 15:34:04 UTC+2 schrieb Dimitar Dobrev:
>
> My packages are from:
>
> http://deb.mgware.co.uk/
>
> They are for POSIX and rt-preempt only.
> About the index, I actually don't have iio:device0 under 
> /sys/bus/iio/devices/ 
> so that's the problem.
> I could try changing the kernel on my existing installation, I hope it's 
> possible. Another option would be to build Machinekit from source for 
> Stretch. Do you think it's possible?
>
> On Monday, October 9, 2017 at 4:25:15 PM UTC+3, Schooner wrote:
>>
>>
>> On 09/10/17 12:57, 'Dimitar Dobrev' via Machinekit wrote:
>>
>> I created /usr/lib/linuxcnc/xenomai and copied pru_generic.bin there. 
>> After trying again I got:
>>
>> Traceback (most recent call last):
>>   File "/usr/bin/hal_temp_bbb", line 198, in <module>
>>     checkAdcInput(pin)
>>   File "/usr/bin/hal_temp_bbb", line 156, in checkAdcInput
>>     pin.filename = tempName[0]
>> IndexError: list index out of range
>>
>>
>> This is not an error linked to pru_generic.bin AFAIK, but you need 
>> someone who knows about BBB.
>>
>> If it is saying that an index of 0 is out of range, 
>> you need to look at what it is trying to do and work out how it can be 
>> empty.
>>
>> https://github.com/machinekit/machinekit/blob/master/src/hal/user_comps/hal_temp_bbb.py#L156
>>
>>
>> In case the pru_generic.bin for rt-preempt cannot work in xenomai, 
>>
>>
>> The pru_generic.bin is identical for all kernel flavours so you can just 
>> copy it across
>>
>> The rt-preempt component modules may work with xenomai, there has been 
>> discussion as to whether they are actually different, 
>> but the bigger problem is that you will lack ulapi_xenomai.so and 
>> rtapi_app_xenomai.
>>
>> There are no xenomai packages for Stretch either, as Stretch is on 
>> Xenomai3, which does not work with Machinekit
>> I assume you have manually installed the Jessie ones?
>>
>> I suggest you read this thread
>> https://groups.google.com/forum/#!topic/machinekit/RrNLUo4ASP4
>> and contact Darren or one of the others to find where you can download an 
>> image with the rt-preempt kernel, 
>> or even just the kernel, modules etc and install it into your existing 
>> image
>>
>> do I correctly understand that switching from xenomai to rt-preempt on an 
>> existing installation is impossible and I need to install a new image 
>> instead?
>>
>> On Saturday, October 7, 2017 at 5:06:38 PM UTC+3, Schooner wrote: 
>>>
>>> I don't use a BBB, it looks like Debian only provide i386 and amd64 
>>> rt-preempt kernels for Stretch.
>>>
>>> I don't know which rt kernel others have used, probably one from here
>>>
>>> https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Mainline_.284.14.x_lts.29
>>>
>>> The one I used on my server is 4.4.68-ti-rt-r112, but there are probably 
>>> newer ones.
>>> Looks like linux-image-4.9.40-bone-rt-r7 is quite new, the BBG people 
>>> have to use rt-preempt I believe to get everything working.
>>>
>>> Someone should be able to give you a link
>>> In fact if you have a root around here 
>>> https://rcn-ee.com/rootfs/bb.org/testing/
>>> you may find an image which suits
>>>
>>> rt-preempt kernels are quite easy to build, I have even built one on a 4 
>>> core aarm64, but that has much more processing power
>>> than a BBB, might take quite a while on a BBB
>>>
>>> Is there any reason why you have to use a BBB at all?
>>> Life is much simpler with a proper computer ;\
>>>
>>> On 07/10/17 14:39, 'Dimitar Dobrev' via Machinekit wrote:
>>>
>>> Schooner, thank you very much for all of your help. I am definitely 
>>> going to try it. Would you have some directions about the switch to 
>>> rt-preempt? Do I need to compile it from source code or is it just a matter 
>>> of installing packages?
>>>
>>> On Saturday, October 7, 2017 at 4:25:21 PM UTC+3, Schooner wrote: 
>>>>
>>>> In that case, get hold of the rt-preempt kernel from Stretch and use 
>>>> that.
>>>>
>>>> Then you will be able to install machinekit-rt-preempt for 
>>>> stretch-armhf from my repo and it should work, with the pru_* binaries 
>>>> built and
>>>> symlinked to the /usr/lib/linuxcnc/rt-preempt directory where they can 
>>>> be found by hal_pru_generic
>>>>
>>>> Xenomai is becoming of lessening importance, as the rt-preempt kernel 
>>>> latency improves.
>>>> Because the BBB uses the PRU for step generation etc, all that is 
>>>> required is a stable servo thread which rt-preempt should be able to 
>>>> provide.
>>>>
>>>> Bas is already using rt-preempt on his BBB, as has Charles.
>>>> The reason for the recent commit to make pru_generic.* available to all 
>>>> armhf kernel flavours, was to allow this, without the user having to kludge
>>>> together symlinks or copy the binaries from another install.
>>>>
>>>> Be aware there will be a major change to the libczmq and libzeromq 
>>>> dependencies in a few days.
>>>> The packages as they are now will work together, but if you upgrade at 
>>>> a later date, you will probably need to remove all packages and re-install
>>>> to get the correct deps.
>>>>
>>>> Good luck
>>>>
>>>> On 07/10/17 14:05, 'Dimitar Dobrev' via Machinekit wrote:
>>>>
>>>> I have used Stretch for the following reason:
>>>> I need to run a Qt application built with 
>>>> https://github.com/qtquickvcp/QtQuickVcp on the BBB itself. I had to 
>>>> therefore build QtQuickVcp for that BBB which in turn meant I needed to 
>>>> build Qt itself for it. After multiple attempts to do so failed, I 
>>>> discovered 
>>>> http://software-dl.ti.com/processor-sdk-linux/esd/AM335X/latest/index_FDS.html
>>>>  
>>>> . The problem with it is that it contains Qt 5.7.1 while the Qt from 
>>>> packages on Debian Jessi is 5.3.2. So when I compiled my application it 
>>>> could not run on the BBB. So I upgraded the BBB to use Stretch where the 
>>>> Qt 
>>>> from packages is 5.7.1 as well. I tried using the same Qt from this SDK on 
>>>> the BBB but I kept getting an error while starting up that the wayland 
>>>> plug-in could not be found.
>>>> I would deeply appreciate any suggestions to improve the above 
>>>> configuration.
>>>>
>>>> On Saturday, October 7, 2017 at 1:06:47 PM UTC+3, Schooner wrote: 
>>>>>
>>>>> Thanks for the extra info, that makes things clearer
>>>>>
>>>>> You have installed an old Xenomai2 kernel onto Stretch
>>>>>
>>>>> My testing repo for Stretch does not contain any packages for Xenomai 
>>>>> and so you appear to have installed machinekit-rt-preempt instead
>>>>>
>>>>> So when machinekit looks for the pru_generic.bin file, based upon the 
>>>>> kernel in use, it does not find it and you get this error
>>>>>
>>>>> Oct  6 23:33:14 beaglebone rtapi:0: 1:rtapi_app:10176:user 
>>>>> hal_pru_generic: cant find /usr/lib/linuxcnc/xenomai/pru_generic.bin in 
>>>>> /home/machinekit/CRAMPS or /lib/firmware/pru/
>>>>> Oct  6 23:33:14 beaglebone rtapi:0: 1:rtapi_app:10176:user hpg: ERROR: 
>>>>> failed to initialize PRU
>>>>>
>>>>> So use the official, supported image and all will work and leave you 
>>>>> free to do whatever you intended with the board,
>>>>> rather than mess around trying to get the wrong packages working on 
>>>>> the wrong kernel.
>>>>> Use the Jessie SD card image from Robert Nelsons site ( as indicated 
>>>>> in the 'Getting Started' section of the docs)
>>>>> There is no reason to use Stretch and currently many reasons not to, 
>>>>> which is why we are working using an unofficial testing repo at present.
>>>>> Anything there may or may not work and is subject to change or removal 
>>>>> without notice.
>>>>>
>>>>> regards
>>>>>
>>>>> On 07/10/2017 02:03, 'Dimitar Dobrev' via Machinekit wrote:
>>>>>
>>>>> Kernel:
>>>>>
>>>>> Linux beaglebone 3.8.13-xenomai-r83 #1 Wed Jan 4 23:10:15 UTC 2017 
>>>>> armv7l GNU/Linux
>>>>>
>>>>> Packages from:
>>>>>
>>>>> http://deb.mgware.co.uk/
>>>>>
>>>>> Log:
>>>>>
>>>>> Attached.
>>>>>
>>>>> I already have pru_generic.bin:
>>>>>
>>>>> /usr/lib/linuxcnc/rt-preempt/pru_generic.bin
>>>>> /usr/lib/linuxcnc/prubin/pru_generic.bin
>>>>>
>>>>> Please let me know if you need anything else.
>>>>>
>>>>>
>>>>> On Thursday, October 5, 2017 at 1:46:48 PM UTC+3, Schooner wrote: 
>>>>>>
>>>>>>
>>>>>> On 05/10/17 10:55, 'Dimitar Dobrev' via Machinekit wrote:
>>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>> My name is Dimitar Dobrev. I work as an application programmer and I 
>>>>>> have tried using CRAMPS. I have encountered an error I would like to ask 
>>>>>> for your help about.
>>>>>> I have a BeagleBone Black with Debian Stretch. 
>>>>>>
>>>>>>
>>>>>> kernel?  kernel version? git version of Machinekit? etc. etc.
>>>>>>
>>>>>> I need to start Machinekit on to connect to a real machine. I started 
>>>>>> run.py and got one error which I solved but I am now stuck at:
>>>>>>
>>>>>> CRAMPS.hal:28: insmod failed, returned -1;
>>>>>> rtapi_app_main(hal_pru_generic): -1 Operation not permitted
>>>>>>
>>>>>>
>>>>>> What is the rest of the error output (/var/log/linuxcnc.log or dmesg 
>>>>>> if it caused a segfault)
>>>>>> insmod errors are rather vague and can be from several causes.
>>>>>>
>>>>>> Try running with 'DEBUG=5 preceding the machinekit command and change 
>>>>>> the inifile 'debug = ' stanza to a higher number 
>>>>>> if you don't get a cause printed.
>>>>>> Make sure you have rsyslogd running to log output
>>>>>>
>>>>>> If you are running an older pull of machinekit, on a rt_preempt 
>>>>>> kernel, it won't have my recent
>>>>>> commits which make pru_generic.bin etc available
>>>>>>
>>>>>> https://github.com/machinekit/machinekit/commit/a6ac2576fc9a7f9d8a9a3f0e9da0eb244b8336d3
>>>>>>
>>>>>> That is one possibility, but impossible to say with this little info.
>>>>>>
>>>>>> My Machinekit is installed from packages rather than built from 
>>>>>> source. 
>>>>>>
>>>>>>
>>>>>> Where did you get the packages?
>>>>>>
>>>>>> There is no official support for Stretch yet.
>>>>>>
>>>>>> The only packages for Stretch are in my unofficial repo.
>>>>>> They HAVE been tested on a BBB and work
>>>>>>
>>>>>> I have been able to find 
>>>>>> https://groups.google.com/forum/#!msg/machinekit/RrNLUo4ASP4/840ireJEBgAJ
>>>>>>  
>>>>>> and https://groups.google.com/forum/#!topic/machinekit/qncQ_Dh7V9s 
>>>>>> but I haven't been able to find a solution there. Any direction you can 
>>>>>> give me will be both useful and appreciated.
>>>>>> Thank you for your time.
>>>>>>
>>>>>> Dimitar Dobrev,
>>>>>> https://gitlab.com/ddobrev/QtSharp
>>>>>> -- 
>>>>>> website: http://www.machinekit.io blog: http://blog.machinekit.io 
>>>>>> github: https://github.com/machinekit
>>>>>> --- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "Machinekit" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to [email protected].
>>>>>> Visit this group at https://groups.google.com/group/machinekit.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>> -- 
>>>>> website: http://www.machinekit.io blog: http://blog.machinekit.io 
>>>>> github: https://github.com/machinekit
>>>>> --- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "Machinekit" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/machinekit.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>> -- 
>>>> website: http://www.machinekit.io blog: http://blog.machinekit.io 
>>>> github: https://github.com/machinekit
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Machinekit" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> Visit this group at https://groups.google.com/group/machinekit.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>> -- 
>>> website: http://www.machinekit.io blog: http://blog.machinekit.io 
>>> github: https://github.com/machinekit
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Machinekit" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> Visit this group at https://groups.google.com/group/machinekit.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>> -- 
>> website: http://www.machinekit.io blog: http://blog.machinekit.io 
>> github: https://github.com/machinekit
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Machinekit" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> Visit this group at https://groups.google.com/group/machinekit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to