If you don’t monitor the Machinekit group (you should), over the weekend John Morris announced the availability of binary packages for Machinekit and it’s required dependencies (at least the ones that are not already in the Debian archives).
If you’re trying to build a minimal system (particularly helpful on the BealgeBone with it’s limited eMMC rootfs), this is welcome news indeed!
I will be updating my build scripts and the resulting images to use the pre-built packages soon, meaning you’ll be able to simply “apt-get update” and “apt-get upgrade” to get the latest official Machinekit release. Until then, feel free to add the pre-built packages to your existing install, the run-in-place development version and the installed packages should work side-by-side and should not interfere with each other. Instructions can be found at the package repository website.
If you run into any problems, let us know on the Machinekit list.
Showing posts with label Releases. Show all posts
Showing posts with label Releases. Show all posts
Wednesday, June 18, 2014
Wednesday, May 21, 2014
Updated Machinekit Images
After receiving a BeagleBone RevC with 4GB on-board eMMC, I noticed the latest images have grown to the point they are essentially unusable on a 4GB device.
I have updated the Machinekit images to exclude the previously required documentation build dependencies, which saves over 1GB of space on the images! There is still a lot more room to be recovered once ARM binary packages become available, but for now the space savings means you can comfortably run Machinekit on a 4GB uSD card or the built-in 4GB eMMC on a RevC ‘Bone.
I have updated the Machinekit images to exclude the previously required documentation build dependencies, which saves over 1GB of space on the images! There is still a lot more room to be recovered once ARM binary packages become available, but for now the space savings means you can comfortably run Machinekit on a 4GB uSD card or the built-in 4GB eMMC on a RevC ‘Bone.
Friday, May 9, 2014
Machinekit BeagleBone Debian Images Released
After what has been far too long, I am please to announce a new official release of the Machinekit image for the BeagleBone. The release of the RevC BeagleBone Black with it’s 4GB eMMC and switch to Debian makes the BeagleBone an even better choice for machine control!
There are lots of significant changes with this release, so I recommend everyone using Machinekit updates when practical. The biggest change is the switch from my “enhanced” version of Robert Nelson’s minimal Debian build to generating images based on the official BeagleBone Debian. That means all the BeagleBone specific features like node.js, USB networking, etc. should work just like they would on a factory BeagleBone. Of course there are a LOT of changes included with this, like switching from xfce to lxde, changing from sysvinit to systemd, and many others. On the plus side, the Machinekit images are now very similar to the shipping BeagleBone release, so it should be easier to find documentation and ask for help.
The other really big change is a switch from LinuxCNC to the Machinekit project. Machinekit enables LinuxCNC’s real-time core to operate on a wide variety of platforms, making it possible to run on the BeagleBone. I had been hoping the required real-time changes would become part of mainline LinuxCNC (and they still might), but they have been passed over for the upcoming 2.6 release.
If you are lucky enough to have a BeagleBone RevC, there is an (untested) eMMC flasher image available as well. If you would like a tested and verified working eMMC flasher image, feel free to FedEx me your RevC ‘Bone! Otherwise, you’ll have to wait until one of the two I’ve ordered actually arrives for me to test. 😉
Tuesday, April 22, 2014
Machinekit BeagleBone Debian Images
If you’ve been following developments around the BeagleBone, you know the new RevC boards with 4Gig eMMC are coming soon, and these boards will ship with Debian instead of Angstrom. I have been working to get my Machinekit binary images tracking the new BeagleBone Debian vs. the generic minimal Debian install used previously. This means you can run Machinekit without loosing any of the BeagleBone specific add-ons like node.js, and switching between the Machinekit image and the official BeagleBone software should be fairly painless.
I am pleased to announce the first public Machinekit test image based on the new BeagleBone Debian release. Download the image file, then check the md5sum. This is a raw image file, so just uncompress it and dd it straight onto a 4 GB or larger uSD card, pop it into your BeagleBone, and boot. If you need help writing the uSD card, follow the BeagleBone instructions, just use the image file above instead of the official BeagleBone files.
If you encounter any problems, please report them via the Machinekit issue tracker on github, or on the Machinekit Mailing list. While this is the first public release, there have been several test images for limited release (check the Machinekit list to keep updated!), and it looks like things are pretty solid. As soon as there is a final BeagleBone Debian build, I’ll make a matching Machinekit version and post it on the Machinekit page. There will even be an eMMC flasher version for those of you lucky enough to get a RevC board. I’ve got mine on order, and am hoping that I’m near the front of the line!
Saturday, February 1, 2014
New -bone39 Kernel Available
I’ve been building a lot of kernels lately, testing various options recommended by the Xenomai folks to improve latency. Nothing has been a “magic silver bullet”, but the overall combination of options has dramatically reduced typical latency, even though worst-case values haven’t dropped much.
Also, some folks testing with recent kernels noticed the CPU wasn’t running at full speed. I have re-enabled the frequency scaling support in the kernel (the Xenomai folks recommend disabling this), which has restored the expected 1 GHz operation. Tests so far show no impact on latency figures, since the CPU frequency isn’t actually changing (only the performance scheduler is compiled into the kernel, which keeps the CPU running at the highest possible speed and doesn’t try to throttle the CPU to save power). AFAIK, the latency hit is from the CPU shutting down while the PLLs relock to a new frequency, so if the CPU never changes it’s operating frequency there shouldn’t be any issues.
You can download the new kernels here. If you try it out, please let me know how it works for you. I’ll probably try to make new images with just the kernel update soon, but I’m in the middle of a bunch of other coding and updates, so pester me if you really want a new image and it hasn’t shown up on the MachineKit page.
In other news, work is in progress to develop interfaces geared towards the BeagleBone (lower resolution screens with less 3D intensive “eye candy”), I’ve started work on the CRAMPS 3D Printer interface board, and I hope to have encoder support (both hardware and PRU software based) working soon. Rigid tapping could be coming soon to a ‘Bone near you! 🙂
I am making good progress on the CRAMPS and encoder tasks. If you would like to assist with interface design for the ‘Bone, please post on the LinuxCNC developer list. I don’t do well designing GUI interfaces, and am looking for as much help as I can get to provide usable and attractive interfaces for the BeagleBone, for both CNC machining and for 3D printing. Thanks!
Also, some folks testing with recent kernels noticed the CPU wasn’t running at full speed. I have re-enabled the frequency scaling support in the kernel (the Xenomai folks recommend disabling this), which has restored the expected 1 GHz operation. Tests so far show no impact on latency figures, since the CPU frequency isn’t actually changing (only the performance scheduler is compiled into the kernel, which keeps the CPU running at the highest possible speed and doesn’t try to throttle the CPU to save power). AFAIK, the latency hit is from the CPU shutting down while the PLLs relock to a new frequency, so if the CPU never changes it’s operating frequency there shouldn’t be any issues.
You can download the new kernels here. If you try it out, please let me know how it works for you. I’ll probably try to make new images with just the kernel update soon, but I’m in the middle of a bunch of other coding and updates, so pester me if you really want a new image and it hasn’t shown up on the MachineKit page.
In other news, work is in progress to develop interfaces geared towards the BeagleBone (lower resolution screens with less 3D intensive “eye candy”), I’ve started work on the CRAMPS 3D Printer interface board, and I hope to have encoder support (both hardware and PRU software based) working soon. Rigid tapping could be coming soon to a ‘Bone near you! 🙂
I am making good progress on the CRAMPS and encoder tasks. If you would like to assist with interface design for the ‘Bone, please post on the LinuxCNC developer list. I don’t do well designing GUI interfaces, and am looking for as much help as I can get to provide usable and attractive interfaces for the BeagleBone, for both CNC machining and for 3D printing. Thanks!
Sunday, December 29, 2013
Updated MachineKit Image Available
A new MachineKit image is now available. While there are no dramatic changes with this release, pretty much everything got updated. There’s a new kernel (-bone33), the latest Debian (7.3), and continued updates to LinuxCNC. One somewhat major change is switching from the xdm display manager to lightdm, which plays nice with consolekit so the shutdown/reboot buttons work, user-mode USB mounting works, etc.
There’s no dramatic reason to update if your current system is working well. This is primarily a baseline build I wanted to make available before I head off and start seriously working with the joints-axis code on the BeagleBone for controlling the non-Cartesian 3D printers I’m building (a Mini-Kossel–Pro mashup, and Nicholas Stewart’s Wally and GUS Simpson).
There’s no dramatic reason to update if your current system is working well. This is primarily a baseline build I wanted to make available before I head off and start seriously working with the joints-axis code on the BeagleBone for controlling the non-Cartesian 3D printers I’m building (a Mini-Kossel–Pro mashup, and Nicholas Stewart’s Wally and GUS Simpson).
Monday, September 2, 2013
New MachineKit Image Available
I am pleased to announce that a new MachineKit image for running LinuxCNC on the BeagleBone is now available! This image took a while to put together and there are a lot of things that changed:
This is the latest BeagleBone kernel available via RCN’s kernel build scripts (it is identical to the just committed -bone27 kernel except for the version ID of 26.1). There are lots of updates to this kernel so HDMI and USB should hopefully work a lot better.
I have forked RCN’s kernel build scripts and and added the ability to pull in the Xenomai patches directly from the Xenomai git repository. The provided kernel was built with the absolute latest available version of the arm Xenomai code, which is soon to become the next Xenomai stable release (waiting mostly for updates to stabilize 3.10). This means you can now build the Xenomai patched kernel used in the MachineKit image completely from the latest source pulled directly from git using a few simple commands.
This is the really big change. The LinuxCNC folks are working towards a 2.6 release, which is slated to include something called the “unified build”. No, not that one! 🙂 This unified build allows the same LinuxCNC binary code to run on top of different RTOS systems using a DLL layer to hide the gory details of interfacing to Xenomai, RTAI, RT_PREEMPT, or plain old Posix threads.
The current MachineKit branch of LinuxCNC is based on the 2.5 LinuxCNC code-base, and it is virtually impossible (with a reasonable amount of effort) to merge the unified build code into LinuxCNC 2.5.
Not to worry, the hard work has been done already, mostly by John Morris and Michael Haberler (THANKS!!), but the change does mean there is no easy “fast-forward” merge and the git setup is now fundamentally different. The alternate Xenomai RTOS work the MachineKit branch has been built on was happening outside the official LinuxCNC repository on a private git server run by Michael Haberler. The new unified build code is slated for inclusion into LinuxCNC 2.6, and can be found in the official LinuxCNC git repository. The official repo is also available on github, where I have cloned it and added a MachineKit-ubc branch. This branch will track the unified build branch (and the LinuxCNC 2.6 branch as it comes together) but make sure the code builds and runs on the BeagleBone. There may also be a few configuration changes specific to the arm or BeagleBone platform.
I will be keeping the MachineKit and MachineKit-ubc branches in my previous github repository up to date for a while, but these should generally be considered deprecated. If you are not using my pre-built images, please switch to using the new linuxcnc repo as soon as you can.
Kernel version -bone26.1
This is the latest BeagleBone kernel available via RCN’s kernel build scripts (it is identical to the just committed -bone27 kernel except for the version ID of 26.1). There are lots of updates to this kernel so HDMI and USB should hopefully work a lot better.
Xenomai Updates
I have forked RCN’s kernel build scripts and and added the ability to pull in the Xenomai patches directly from the Xenomai git repository. The provided kernel was built with the absolute latest available version of the arm Xenomai code, which is soon to become the next Xenomai stable release (waiting mostly for updates to stabilize 3.10). This means you can now build the Xenomai patched kernel used in the MachineKit image completely from the latest source pulled directly from git using a few simple commands.
LinuxCNC Unified Build Candidate
This is the really big change. The LinuxCNC folks are working towards a 2.6 release, which is slated to include something called the “unified build”. No, not that one! 🙂 This unified build allows the same LinuxCNC binary code to run on top of different RTOS systems using a DLL layer to hide the gory details of interfacing to Xenomai, RTAI, RT_PREEMPT, or plain old Posix threads.
The current MachineKit branch of LinuxCNC is based on the 2.5 LinuxCNC code-base, and it is virtually impossible (with a reasonable amount of effort) to merge the unified build code into LinuxCNC 2.5.
Not to worry, the hard work has been done already, mostly by John Morris and Michael Haberler (THANKS!!), but the change does mean there is no easy “fast-forward” merge and the git setup is now fundamentally different. The alternate Xenomai RTOS work the MachineKit branch has been built on was happening outside the official LinuxCNC repository on a private git server run by Michael Haberler. The new unified build code is slated for inclusion into LinuxCNC 2.6, and can be found in the official LinuxCNC git repository. The official repo is also available on github, where I have cloned it and added a MachineKit-ubc branch. This branch will track the unified build branch (and the LinuxCNC 2.6 branch as it comes together) but make sure the code builds and runs on the BeagleBone. There may also be a few configuration changes specific to the arm or BeagleBone platform.
I will be keeping the MachineKit and MachineKit-ubc branches in my previous github repository up to date for a while, but these should generally be considered deprecated. If you are not using my pre-built images, please switch to using the new linuxcnc repo as soon as you can.
Subscribe to:
Posts (Atom)


