Change to open source firmware

Hey Matticustard,

Yes, of course, and I’m sure they’re grateful that you’re showing them what’s possible without (greater) effort, perhaps also to lower their inhibitions. I like to encourage people to try everything out, especially with open source software.

Okay, but that means you have still the “hardwiring” to the ancient kernel source:

Excerpt from onefinity-firmware/src/bbserial/Makefile:

CROSS:=arm-linux-gnueabihf-
DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
obj-m:=bbserial.o
ccflags-y:=-std=gnu99 -Wno-declaration-after-statement

KPKG=raspberrypi-kernel_1.20171029-1.tar.gz
KURL=https://github.com/dbrgn/linux-rpi/archive/$(KPKG)
KDIR=linux-rpi-raspberrypi-kernel_1.20171029-1

As you can see, it is linked to a kernel source under https://github.com/dbrgn which is dbrgn (Danilo Bargen) · GitHub – is this necessary? I would not deliver a software that is “hardwired” this way.

What would be a progress would be an updated, recent Raspberry Pi OS operating system on the Onefinity, which would also mean the crucially important ‘bbserial’ module freed from the “hardwiring” to some dbrgn’s ancient kernel source from 2018 shown above, and the bbserial kernel module made from the updated, recent kernel source, and being compiled automatically everytime the kernel of the system is updated. DKMS does that (see my post above). E.g. like the ‘vboxdrv’ kernel module when you have virtualbox installed on your machine. You don’t have to care of it, because it is always recent and working and loaded, thanks to DKMS.

Having a recent operating system version on the Onefinity controller instead of a frozen 2018 version would also allow the CNC operator to install other useful software, and first of all avoid using old software with security issues.

Update:

Just had a look, on Joseph Coffland’s original buildbotics/bbctrl-firmware/src/bbserial/Makefile, …

CROSS:=arm-linux-gnueabi-
DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
obj-m:=bbserial.o
ccflags-y:=-std=gnu99 -Wno-declaration-after-statement -Wno-missing-attributes

KVER=1.20171029-1
KPKG=raspberrypi-kernel_$(KVER).tar.gz
KURL=https://github.com/raspberrypi/linux/archive/$(KPKG)
KDIR=linux-raspberrypi-kernel_$(KVER)

…it is “hardwired” to the official GitHub repository of the Raspberry Pi Foundation instead, which means, the organization from which a standard Raspberry Pi OS installation gets its proprietary kernel and bootloader images from as per /etc/sources.list.d/raspi.list.

So I would ask, why in Onefinity’s fork is ‘bbserial’ linked to a private kernel source copy instead of the official raspbian kernel source?


PS: Note that it’s not a more recent OS version on Buildbotics Controller either, it’s just from the official source. And the Raspbian SD card image that Buildbotics takes as base to install the build is https://buildbotics.com/upload/2018-05-15-raspbian-stretch-bbctrl.img.xz – at least per Buildbotics Development Guide. I don’t know what they deliver when you buy a Buildbotics CNC Controller in their store.


PS2: When I surfed around on the buildbotics site, the other day I saw that they do have more recent SD card images of Raspberry Pi OS on hold (for whatever reason :slight_smile:):

Index of /upload/


../
vfd/
2018-02-01-raspbian-stretch-bbctrl.img.xz 02-Feb-2018 07:13 411M
2018-05-10-raspbian-stretch-bbctrl.img.xz 12-May-2018 22:59 587M
2018-05-15-raspbian-stretch-bbctrl.img.xz 16-May-2018 19:17 547M
2021-03-04-raspios-buster-armhf-bbctrl.img.xz 02-May-2021 05:37 847M
2022-03-30-raspios-buster-armhf-bbctrl.img.xz 30-Mar-2022 16:30 856M
2023-09-19-debian-bookworm-bbctrl.img.xz 19-Sep-2023 17:31 691M
2023-09-26-debian-bookworm-bbctrl.img.xz 26-Sep-2023 15:59 693M
2023-09-29-debian-bookworm-bbctrl.img.xz 29-Sep-2023 15:43 691M
[...]

2 Likes