How to install realtime kernel in Trisquel?

14 replies [Last post]
Tshiong
Offline
Joined: 08/20/2023

Hi all!

I'm trying to install a realtime kernel in Trisquel 11, because I do a lot of live music work on my system and the low latency patches reduce dropouts a lot.

I've searched the forum, but most topics on this were rather old. There actually seems to be a realtime kernel in the repository:
https://archive.trisquel.org/trisquel/pool/main/l/linux-realtime/

However, I've been unsuccessful in trying to install it, so far, apt for me only finds "linux-realtime-headers" and "linux-realtime-tools", but not the kernel itself.

Is this even a full kernel? And if so, how can I install it?

Thanks! :)

andyprough
Offline
Joined: 02/12/2015

liberty is a realtime linux-libre kernel: https://www.fsfla.org/ikiwiki/selibre/linux-libre/liberty.en.html

It's maintained by our very own @jxself.

Tshiong
Offline
Joined: 08/20/2023

Hey, that's good to know. I'll definitely look into it.

I'd much prefer though if it was in the main repository.

In the meantime, I found through an apt search that there is a package named "linux-image-unsigned-5.15.0-1032-realtime", which apparently installs a kernel. It seems to be the one from the archive, but I'm not completely sure.

Is there anything wrong with using that package?

andyprough
Offline
Joined: 02/12/2015

>"I found through an apt search that there is a package named "linux-image-unsigned-5.15.0-1032-realtime", which apparently installs a kernel"

I tried installing it today, and it would boot up but wouldn't give me an Xorg session.

I also tried jxself's and apt is complaining about lack of a release file.

So I hope you have better luck than I did.

jxself
Offline
Joined: 09/13/2010

> I also tried jxself's and apt is complaining about lack of a release file.

That seems concerning, because it does exist - https://linux-libre.fsfla.org/pub/linux-libre/liberty/dists/liberty/Release

andyprough
Offline
Joined: 02/12/2015

I don't know, I'm not good with troubleshooting repos. Do you see anything obvious I can do?

$ sudo apt update
Err:1 http://linux-libre.fsfla.org/pub/linux-libre/liberty/mirrors.txt Mirrorlist
404 Not Found [IP: 2001:470:142:5::54 80]
Ign:2 mirror://linux-libre.fsfla.org/pub/linux-libre/liberty/mirrors.txt liberty InRelease
Err:3 mirror://linux-libre.fsfla.org/pub/linux-libre/liberty/mirrors.txt liberty Release
Downloading mirror file failed
Hit:4 https://archive.trisquel.info/trisquel aramo InRelease
Hit:5 https://archive.trisquel.info/trisquel aramo-security InRelease
Hit:6 https://archive.trisquel.info/trisquel aramo-updates InRelease
Hit:7 https://archive.trisquel.info/trisquel aramo-backports InRelease
Reading package lists... Done
E: The repository 'mirror://linux-libre.fsfla.org/pub/linux-libre/liberty/mirrors.txt liberty Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

jxself
Offline
Joined: 09/13/2010

$ sudo apt update
Err:1 http://linux-libre.fsfla.org/pub/linux-libre/liberty/mirrors.txt Mirrorlist
404 Not Found [IP: 2001:470:142:5::54 80]

That's the actual problem - The mirrors.txt file isn't there. I've put it back and everything should be fine now. It seems concerning that no one mentioned it until now...

andyprough
Offline
Joined: 02/12/2015

OK great, that fixes the apt update problem, but when I try to install the realtime kernel and headers I get a missing dependency error for the linux-image-6.1.46-rt13-gnu package:

The following packages have unmet dependencies:
linux-libre-rt : Depends: linux-image-6.1.46-rt13-gnu but it is not installable
linux-libre-rt-headers : Depends: linux-image-6.1.46-rt13-gnu but it is not installable
Depends: linux-headers-6.1.46-rt13-gnu but it is not installable

I tried specifying the fsfla mirror instead of the cedia.org one that was being auto-selected, but still getting the same missing dependency error.

I see that there are packages in http://linux-libre.fsfla.org/pub/linux-libre/liberty/pool/main/l/linux-libre/ with slightly different names:
linux-image-6.1.46-gnu-rt13_6.1.46-rt13-gnu-1.0_amd64.deb
linux-headers-6.1.46-gnu-rt13_6.1.46-rt13-gnu-1.0_amd64.deb

Maybe the "rt13-gnu" got reversed somewhere? Those package names look a little odd to me, the '6.1.46-gnu-rt13' is being repeated in different ways. As I say, I don't know enough about repos to understand, I may not even be looking in the correct directory.

jxself
Offline
Joined: 09/13/2010

Thank you. I believe I've addressed the underlying matter and pushed an the update to the main server on fsfla.org along with the updated 6.1.47 that came out today. The mirrors should sync up in a day or so.

andyprough
Offline
Joined: 02/12/2015

OK I was able to install the realtime kernel from the fsfla repo, but the headers won't install:

The following packages have unmet dependencies:
linux-libre-rt-headers : Depends: linux-headers-6.1.47-rt13-gnu but it is not installable

I'm using repo https://linux-libre.fsfla.org/pub/linux-libre/liberty/
Maybe if I give it a couple of days it will populate with the dependency.

The kernel is impressive - I thought that with it being so new it might cause trouble on my older laptop, but its doing everything correctly so far and seems quite zippy.

Edit: I gave it a few days but apt is still throwing up the unmet dependency error for the headers. The kernel still runs well though.

jxself
Offline
Joined: 09/13/2010

This had slipped my mind but it should be working now along with the new version 6.1.48. At least on the main server; the mirror should sync up over the next day or so.

andyprough
Offline
Joined: 02/12/2015

OK, seems like it's very close now, the linux-libre-rt kernel updated successfully to version 6.1.48, but now there's a new dependency issue with the headers package:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
linux-libc-dev : Conflicts: linux-kernel-headers
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

jxself
Offline
Joined: 09/13/2010

That's coming from Trisquel's own linux-libc-dev package, which contains:

Conflicts: linux-kernel-headers
Replaces: linux-kernel-headers

So it won't let you have both installed at the same time. Keep in mind you only need kernel headers in a very specific case: You'll need to install the kernel headers when you're planning to compile a new kernel module, such as a device driver that's not already included in the kernel.

andyprough
Offline
Joined: 02/12/2015

OK sounds great, and the kernel is running well. So the final answer to the OP's question is to install your realtime kernel, because with the other "linux-image-unsigned-5.15.0-1032-realtime" package in the Trisquel repo I was not able to get to an X session.

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

I am pretty sure "realtime" and "lowlatency" are not synonymous. You want "lowlatency", which is simply the regular Linux(-libre) configured in a different way (before compilation). Ubuntu 22.04's configuration of its lowlatency kernel is attached. I found it in https://packages.ubuntu.com/jammy-updates/amd64/linux-buildinfo-5.15.0-79-lowlatency/download and I guess you could use it to compile Linux-libre.

AttachmentSize
config.txt 255.87 KB