1

So recently I had to do some work with a low-level hardware framework. This required extensive use of driverctl - which is part of the driverctl package, at least in other versions of Ubuntu (I see it in 19.10 and forward)

There is a "supported" version of the framework I'm using, specifically for Ubuntu 18.04 and Azure, so I decided to switch to that as there would at least be some community support as I ran into issues.

I built an 18.04 system and found that there is no driverctl package available. It's a stock install, I've done apt-get update .. am I missing something? I tried apt-cache search driverctl and found nothing either.

I used this site (not official, I know) to check to see if the driverctl package was in one of the 18.04 repositories, to see if maybe my apt source were broken, but didn't see it for 18.04 there either

Anyone have any ideas here?

I figure unless someone knows something I don't, my only options are:

  1. Build from the 19.10 source package and inspect the configuration before doing so, trying to confirm it will work OK with the way 18.04 udev is configured/installed
  2. Install the .deb from 19.10 - a little risky to do blindly with something dealing with udev and device drivers
  3. Build from vanilla source. This will take longer as I'll really have to study (at least) how Ubuntu udev is set up and possibly what patches are applied
  4. Upgrade to 19.10 (and then lose the "official" support that I wanted ...)

I don't really love any of these options, but I'm not sure what other options I have

If someone is familiar with how udev may differ between 18.04 and 19.10, that would be helpful in giving me some confidence that there may be good compatibility between the 19.10 driverctl package and the 18.04 udev

1 Answer 1

0

The Ubuntu repositories have this package in 19.10, 20.04 LTS and 20.10 (development branch).

The upstream says that 0.111 is the latest version.

So you have to build this version on 18.04 LTS from 20.04 LTS source:

sudo apt-get install debhelper pkg-config dpkg-dev

cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/d/driverctl/driverctl_0.111.orig.tar.gz
tar -xf driverctl_0.111.orig.tar.gz
cd driverctl-0.111/
wget http://archive.ubuntu.com/ubuntu/pool/universe/d/driverctl/driverctl_0.111-1.debian.tar.xz
tar -xf driverctl_0.111-1.debian.tar.xz
rm driverctl_0.111-1.debian.tar.xz

dpkg-buildpackage -uc -us

sudo apt-get install ../driverctl_0.111-1_all.deb

and then try to use it as you planned.

1
  • Hopefully that should be good enough, thanks. I'm slightly concerned about how it interacts with udev, though I guess all that matters is that all Debian versions use /etc/udev/rules.d - which I think is the case, even for other distributions. It sure beats the heck out of using echo <pci_id> > /sus/bus/pci/drivers/<module>/(un)bind which is how I've been forced to do things up until now
    – adam
    Jul 7, 2020 at 14:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .