Installation for Rpi3 using machinekit.io site instruction broken

411 views
Skip to first unread message

Petros Makris

unread,
Oct 16, 2017, 4:41:06 PM10/16/17
to Machinekit
Hello,

If booting to the latest 8.x jessie raspbian and following the instructions in machinekit.io you get

(after installing the latest rt-preempt kernel)

The following packages have unmet dependencies:

machinekit-rt-preempt: Depends: machinekit (=0.1.1507881226-1mk.travis.master.git15d5a3f6) but is not going to be installed

Any ideas? 


Petros Makris

unread,
Oct 16, 2017, 5:10:22 PM10/16/17
to Machinekit
All I can see is that machinekit depends on libczmq4 which is available in stretch.

schoo...@btinternet.com

unread,
Oct 17, 2017, 3:49:44 AM10/17/17
to machi...@googlegroups.com

All the packages of version 0.1.1507881226-1mk for raspbian are there

Unfortunately raspbian should no longer exist as a distro, because the packages are binary identical to jessie-armhf

Installing machinekit first, will find machinekit-rt-preempt, but it is probably not going to find libczmq4 and libzmq3, because they have jessie tags.

You should find that if you purge your packages (machinekit, machinekit-rt-preempt libczmq libzmq python-zmq),
change the distro tag in your /etc/sources.list.d/machinekit.list to jessie
do
apt-get update
apt-get install machinekit machinekit-rt-preempt

It will install and work

Otherwise, later I should be able to produce some libs that are specifically tagged ~raspbian.
--
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 machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Petros Makris

unread,
Oct 17, 2017, 4:00:35 AM10/17/17
to schoo...@btinternet.com, machi...@googlegroups.com
Thanks!, I will give it a try this evening and let you now.

To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscribe@googlegroups.com.
You received this message because you are subscribed to a topic in the Google Groups "Machinekit" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/machinekit/vSPXdPspyEs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to machinekit+unsubscribe@googlegroups.com.

schoo...@btinternet.com

unread,
Oct 17, 2017, 5:44:37 AM10/17/17
to machi...@googlegroups.com
I have now included the packages for czmq and zmq from Jessie into the Raspbian distro
They are still tagged ~jessie, but that does not matter, because that is what the dependencies specify anyway.
It is certainly a much simpler solution to re-building a complete set of binaries just to have a ~raspbian tag in them
http://deb.machinekit.io/debian/dists/raspbian/main/binary-armhf/Packages

If you have the time and inclination, try my suggestion of switching to the Jessie distro first, it should just work.
The only difference between a package tagged ~jessie-armhf and ~raspbian-armhf is the name in the control file etc.
You can download one from each distro folder and run debdiff on them to show this.
In future distributions (Stretch onwards) there will not be specific raspbian packages.

Otherwise, just purge all your old packages,
apt-get update
apt-get install machinekit machinekit-rt-preempt
and let the dependencies list pull in libczmq, libzmq and python-zmq
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.

Petros Makris

unread,
Oct 17, 2017, 3:54:31 PM10/17/17
to Machinekit
[SOLVED]

Hi. Fisrt of, thanks.

I did the following

1) Boot into clean 2017-07-05-raspbian-jessie
2) Added the machinekit repo as in machinekit.io
3) installed rt-preempt kernel via apt-get and reboot
4) changed distro tag in /etc/apt/sources.list.d/machinekit to 'jessie'
5) apt install machinekit machinekit-rt-preempt


And I managed to get machinekit installed and starting up.

(Although without much stress on the system I got 262ms jitter with median ~100ms!)


-Petros


On Monday, October 16, 2017 at 11:41:06 PM UTC+3, Petros Makris wrote:

schoo...@btinternet.com

unread,
Oct 18, 2017, 2:05:54 AM10/18/17
to machi...@googlegroups.com

Thanks for reporting back.

It is good to get hands on confirmation of something that is theoretically obvious, but I dont have the hardware to test.

The documented 'raspbian' tagged route should work fine too now.

Petros Makris

unread,
Oct 22, 2017, 8:03:07 AM10/22/17
to Machinekit
The exact same way, the instruction for installing in jessie 64bit are broken as well.




On Monday, October 16, 2017 at 11:41:06 PM UTC+3, Petros Makris wrote:

schoo...@btinternet.com

unread,
Oct 22, 2017, 8:42:26 AM10/22/17
to machi...@googlegroups.com
The repo is in a state of flux.

We are switching over to a new package builder.
I am aware that the machinekit packages serials are not matching the flavour serials

When a build currently under way completes, hopefully that will be resolved

Please bear with us

schoo...@btinternet.com

unread,
Oct 22, 2017, 9:17:44 AM10/22/17
to machi...@googlegroups.com
The repo is stabilised now, although there is still some work to do

The current serial version for machinekit packages is
0.1.1508673250.gitf811885-1dovetailautomatamkcrossbuilderamd648.HEAD~1jessie
I just did a test install into Jessie amd64 partition and all is good to go, package versions match

(Jessie-sda2-chroot)root@INTEL-i7:/# apt-get install machinekit machinekit-posix
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  libczmq4 libzmq3 python-zmq
The following NEW packages will be installed:
  libczmq4 libzmq3 machinekit machinekit-posix python-zmq
0 upgraded, 5 newly installed, 0 to remove and 45 not upgraded.
Need to get 5,603 kB/6,391 kB of archives.
After this operation, 39.8 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://deb.machinekit.io/debian/ jessie/main machinekit-posix amd64 0.1.1508673250.gitf811885-1dovetailautomatamkcrossbuilderamd648.HEAD~1jessie [1,042 kB]
Get:2 http://deb.machinekit.io/debian/ jessie/main machinekit amd64 0.1.1508673250.gitf811885-1dovetailautomatamkcrossbuilderamd648.HEAD~1jessie [4,560 kB]

Make sure you have purged old packages

apt-get purge machinekit*
apt-get purge libczmq*
apt-get purge libzmq*

apt-get update
apt-get install machinekit machinekit-<flavour>

Petros Makris

unread,
Oct 22, 2017, 9:43:23 AM10/22/17
to Machinekit
All this automation is a must, travis and all, so thanks first of all for the effort.

I will give it a try again.


On Monday, October 16, 2017 at 11:41:06 PM UTC+3, Petros Makris wrote:

schoo...@btinternet.com

unread,
Oct 26, 2017, 3:39:45 AM10/26/17
to machi...@googlegroups.com
Hi All,

The changes to switch over to John Morris's brilliant cross-builder docker container, are complete for machinekit
(https://hub.docker.com/r/dovetailautomata/mk-cross-builder/)

In conjunction with the recent changes to machinekit to use the new czmq API (John Morris, Alex Rossler and myself)
this means the following for users.

  • There are now Debian Stretch packages of machinekit for amd64, i386 and armhf
These do not require any other special packages, all dependencies are available from the standard Debian repos.
(save a rt-preempt kernel for armhf - see below)

There are no Xenomai packages for Stretch.
The 4.x.x-rt-preempt kernels are good enough to provide a stable servo thread on BBB or DE0-NANO-Soc
Stretch would require Xenomai3, there are none available and machinekit would not run with them without a lot of work.
The PRU on a BBB or the FPGA on the DE0-NANO provides hardware stepgen etc, so  rt-preempt is perfectly adequate.

  • There are a full set of Debian Jessie packages for machinekit for amd64, i386 and armhf

These do require a special build version of libczmq4, which is in the repo

They no longer require special rt-preempt kernels from the repo or elsewhere for i386 or amd64, because Debian have backported their Stretch kernels
Simply add the jessie-backports stanza to your apt sources
http://www.machinekit.io/docs/getting-started/install-rt-kernel-amd64/

Xenomai packages are still provided for Jessie for backward compatibility.

Raspbian packages however are no longer specifically provided.
This is because whilst Raspbian continues as a distro, it uses Jessie armhf binaries.
It was hugely wasteful of time and disk space to build and hold 2 sets of packages that were byte identical
except for the distro name.

Just change your apt sources stanza from raspbian to jessie if you want to continue to update packages.
It does work, a user Petros tried it for us on this thread
https://groups.google.com/forum/#!topic/machinekit/vSPXdPspyEs

All the existing packages will be retained, so if you want, you can just do nothing.
http://www.machinekit.io/docs/getting-started/APT-packages-raspbian/

  • Debian Wheezy is no longer supported or being built for, as per the previous announcement

All support from Debian for Wheezy will cease in May 2018 anyway and it currently has absolutely minimal LTS, with no updates or backports.
Machinekit would not now work unless a special backport of the czmq library were made and given its life expectancy, that would be unproductive.

All the existing packages will be retained, there will just not be any updates.

Important re armhf:

There were difficulties in upgrading on armhf in the initial packages - this was caused by apt running the postrm script from the old package after
the new package was installed, deleting some elements.

This is now fixed but if you have an affected package already installed on armhf, the upgrade may fail.
You simply need to remove it first and then re-install packages.

sudo apt-get purge machinekit*

sudo apt-get update

sudo apt-get install machinekit machinekit-<flavour>

Subsequent upgrades will work as intended.

regards




Lewis Cobb

unread,
Oct 26, 2017, 1:03:20 PM10/26/17
to Machinekit
Hi Schooner
What does this mean for luddites like myself that barely know what they are doing - i.e. - will this mean there's a new SD card image that may appear soon for machinekit/BBB ?  I've been using Robert Nelson's image linked to on the machinekit.io docs page dated 2017-02-12.
Thanks (and thanks for your patience with an enthusiastic machinekit noob ...)
Lewis

schoo...@btinternet.com

unread,
Oct 26, 2017, 2:41:11 PM10/26/17
to machi...@googlegroups.com
What RCN does is very much down to him :)

The way is open for him to produce a rt-preempt kernel 4.x.x image using the packages, if he is so minded

Robert Nelson

unread,
Oct 26, 2017, 4:07:55 PM10/26/17
to schoo...@btinternet.com, Machinekit Mailing List
On Thu, Oct 26, 2017 at 1:41 PM, schoo...@btinternet.com
<schoo...@btinternet.com> wrote:
> What RCN does is very much down to him :)
>
> The way is open for him to produce a rt-preempt kernel 4.x.x image using the
> packages, if he is so minded

It had build issue last Sunday, think i have everything worked out, so
I should have a new build this weekend.. (using v4.13.x-bone-rt with
u-boot overlays)...

Regards,

--
Robert Nelson
https://rcn-ee.com/

Robert Nelson

unread,
Oct 26, 2017, 8:57:21 PM10/26/17
to lewis...@gmail.com, Machinekit Mailing List
On Thu, Oct 26, 2017 at 3:07 PM, Robert Nelson <robert...@gmail.com> wrote:
> On Thu, Oct 26, 2017 at 1:41 PM, schoo...@btinternet.com
> <schoo...@btinternet.com> wrote:
>> What RCN does is very much down to him :)
>>
>> The way is open for him to produce a rt-preempt kernel 4.x.x image using the
>> packages, if he is so minded
>
> It had build issue last Sunday, think i have everything worked out, so
> I should have a new build this weekend.. (using v4.13.x-bone-rt with
> u-boot overlays)...

Lewis,

Give this a shot..

https://rcn-ee.net/rootfs/bb.org/testing/2017-10-26/machinekit/bone-debian-8.9-machinekit-armhf-2017-10-26-4gb.img.xz

to work, it has to use u-boot overlays:

https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays

Robert Nelson

unread,
Oct 27, 2017, 9:40:30 AM10/27/17
to Lewis Cobb, Machinekit Mailing List
On Fri, Oct 27, 2017 at 7:49 AM, Lewis Cobb <lewis...@gmail.com> wrote:
> Hi Robert -
>
> This is great - thanks very much.
>
> I'm pretty new to all this but looking at the Uboot link you provided it
> looks like I just have to make sure the Uboot is a recent one, and then that
> the overlays are enabled ?

The easiest thing to do is just run this script and report it's output..

sudo /opt/scripts/tools/version.sh

Then we can walk you thru what you need to do..

>
> Now - here's a real noob question for you - are Uboot overlays and Device
> Tree Overlays the same thing ? I've just started to read about the DT stuff
> and my head is spinning, so if you have a link to some educational material
> on the uboot overlay stuff it would be much appreciated.

They are exactly the same. We've just EOL'ed kernel overlays and have
u-boot doing all the overlay loading work. (its more reliable/etc..)

schoo...@btinternet.com

unread,
Oct 27, 2017, 1:11:46 PM10/27/17
to machi...@googlegroups.com
Hi Robert

Whilst you are looking at this can I pick your brains for the best of
your rt-preempt kernels to upgrade the DE0-NANO-Soc
mksocfpga image with.

I have already upgraded the existing SD image to Stretch and have it
working, but with the old 4.1.22-ltsi-rt23 kernel

I have crossbuild tools installed and can quite happily build one from
your sources if required

regards

Robert Nelson

unread,
Oct 27, 2017, 1:15:30 PM10/27/17
to schoo...@btinternet.com, Machinekit Mailing List
On Fri, Oct 27, 2017 at 12:11 PM, schoo...@btinternet.com
<schoo...@btinternet.com> wrote:
> Hi Robert
>
> Whilst you are looking at this can I pick your brains for the best of your
> rt-preempt kernels to upgrade the DE0-NANO-Soc
> mksocfpga image with.
>
> I have already upgraded the existing SD image to Stretch and have it
> working, but with the old 4.1.22-ltsi-rt23 kernel
>
> I have crossbuild tools installed and can quite happily build one from your
> sources if required

I'd use their 4.9.x branch:

https://github.com/altera-opensource/linux-socfpga/branches/all

as that has rt right now:

https://www.kernel.org/pub/linux/kernel/projects/rt/

But as soon as they open up socfpga-4.13 i'd move to that..

schooner30@btinternet

unread,
Oct 27, 2017, 1:43:00 PM10/27/17
to Robert Nelson, Machinekit Mailing List
Thanks Robert,

I'll have a look tomorrow

schoo...@btinternet.com

unread,
Oct 29, 2017, 10:03:46 AM10/29/17
to Machinekit Mailing List

On 27/10/17 18:14, Robert Nelson wrote:
That turned out to be a PITA

The socfpga patches do not play nicely with the rt patches.
Lots of failures and some code seems to bear little relation to the patch.

Fixed up 4.9 manually only to find it really did not like some of the
patches.
Never had so much trouble with a rt-preempt kernel, they normally patch
and build without problems.

Messed around some more with 4.6 etc but similar problems.

I have stuck with the 4.1.22-ltsi-rt23 kernel, which works perfectly
well. :-P

The main intention was to get it upgraded to Stretch and able to use the new
czmq4 enabled code, which it now does.

I will post the image in http://deb.machinekit.io/uploads/de0-nano/
once cleaned up and minimised as far as possible.

>

Robert Nelson

unread,
Oct 29, 2017, 1:17:17 PM10/29/17
to Lewis Cobb, Machinekit Mailing List
On Sun, Oct 29, 2017 at 11:12 AM, Lewis Cobb <lewis...@gmail.com> wrote:
> Hi Robert
>
> I've imaged a new SD Card and just poked it into the BBB. Below are the
> results of your instructions to run the "version.sh" script -
>
> Couple of questions come to mind - it appears that the eMMc is doing the
> actual booting and not the SD card, and not wanting to erase the eMMC, I am
> wondering - if we monkey with the eMMC with this new image - does that mean
> I can't go back to the exsiting SD card I am using now with the older
> version of things on it? It appears from this that the uboot overlays are
> enabled, yes?

Yeah, if you clear out the eMMC, you can just swap microSD card's to
test different version..

> -------------------------------------------------------------------------------------------------------------------
>
> machinekit@beaglebone:/$ sudo /opt/scripts/tools/version.sh
> git:/opt/scripts/:[6c2688b0be448b7bb9ca18849b430d496a84acb4]
> eeprom:[A335BNLT00C02916BBBK0A3C]
> model:[TI_AM335x_BeagleBone_Black]
> dogtag:[Machinekit Debian Image 2017-10-26]
> bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot
> 2017.09-00002-g0f3f1c7907]
> bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2015.10-00001-g143c9ee]

To use the new U-Boot overlays, you'll have to remove this "old"
bootloader from eMMC..

sudo dd if=/dev/zero of=/dev/mmcbkl1 count=1 seek=1 bs=128k

Should be enough to get it working.
Reply all
Reply to author
Forward
0 new messages