Debian 10.x/11.x Kernel Updates

I’m looking to end the “” script, in Debian 10.x/11.x i’m working meta packages for kernel branches for users to more easily stay on a LTS kernel:


For example, to stay on v5.10.x-ti for the am335x just run:

sudo apt update
sudo apt install
sudo reboot


sudo apt update ; sudo apt upgrade

All Options (only install one, if you install 2, your upgrades will swap between…)

v4.19.x-ti branch: - 4.19-ti for am335x - 4.19-ti for am57xx

v4.19.x-ti-rt branch: - 4.19-ti-rt for am335x - 4.19-ti-rt for am57xx

v5.4.x-ti branch: - 5.4-ti for am335x - 5.4-ti for am57xx

v5.4.x-ti-rt branch: - 5.4-ti-rt for am335x - 5.4-ti-rt for am57xx

v5.10.x-ti branch: - 5.10-ti for am335x - 5.10-ti for am57xx

v5.10.x-ti-rt branch: - 5.10-ti-rt for am335x - 5.10-ti-rt for am57xx

v4.19.x LTS mainline branches: - 4.19-armv7 for armv7 - 4.19-armv7-rt for armv7 - 4.19-armv7-lpae for armv7-lpae - 4.19-bone for am335x - 4.19-bone-rt for am335x

v5.4.x LTS mainline branches: - 5.4-armv7 for armv7 - 5.4-armv7-rt for armv7 - 5.4-armv7-lpae for armv7-lpae - 5.4-bone for am335x - 5.4-bone-rt for am335x

v5.10.x LTS mainline branches: - 5.10-armv7 for armv7 - 5.10-armv7-rt for armv7 - 5.10-armv7-lpae for armv7-lpae - 5.10-bone for am335x - 5.10-bone-rt for am335x

v5.15.x LTS mainline branches: - 5.15-armv7 for armv7 - 5.15-armv7-rt for armv7 - 5.15-armv7-lpae for armv7-lpae - 5.15-bone for am335x - 5.15-bone-rt for am335x


2021.12.31 - added v5.15.x RT options.
2021.11.01 - add v5.15.x lts branches



Sounds good! How to switch branches? Lets say I’m on

sudo apt update
sudo apt install
sudo reboot

And I want to switch

sudo apt install
sudo reboot

Can I purge the original branch?

sudo apt purge

If so, when executing this (before/after reboot)?


Hi @DTJF in that case, order is important:

sudo apt update
sudo apt install

/boot/uEnv.txt is now setup for 5.10-ti:

sudo apt install

/boot/uEnv.txt is now setup for 5.10-bone

So you can safely run:

sudo apt remove

Basiclly, last “installed” will be the default in /boot/uEnv.txt

If you were to leave both and installed, “whatever” got the next kernel update would become your default in /boot/uEnv.txt


I am getting back into Beaglebones after a few years not doing anything, what is the reason that there are so many version of the kernel?

Kind Regards,

Requirements of design integrators… I just patched 3.8.x ‘again’ for a customer this week…


OK, but if one would start a new project, what would be the best strategy for a long term, let’s say 10 years?

(I’d never would imagine, still reading books from 2000 years ago, that long term would shrink to 10 years)

Kind Regards,

Right now: v5.10.x:

sudo apt update ; sudo apt install


1 Like

Hello Robert,

After updating the kernel using apt is there anything that should be done to remove the old kernel installed by the scripts?

Nothing automated, feel free to remove old kernel packages as you wish…


Hello @RobertCNelson ,

Is there a way to install a Bullseye image from rcn-ee and then resort back to the 4.19.x kernel via these scripts from above?


That’ll work perfectly fine on Bullseye.


1 Like

Yes sir,

@RobertCNelson , you are right again. I just tested it. Thank you.


Great to see a easier way to stay on branch :slight_smile: but i’m wondering what is the difference between BONE,TI,RT kernels?

1 Like

BONE = mainline (am335x (SMP disabled))
BONE-RT = mainline + Real TIme Patchset (am335x (SMP disabled))
TI = TI LTS Release (am335x + am57xx (SMP enabled))
TI-RT = TI LTS Release + Real Time Patchset (am335x + am57xx (SMP enabled))



Thank you for clearing it out for me, so basically for my BBB i can use BONE and be happy? i mean it does only have 1 cpu core and PRU but does that not have something todo with am335x cpu. it’s on it own.

Hi Robert, thanks for the meta-packages! Can we have similar packages for the kernel headers (for custom module compilation)?

Hi @KumarAbhishek for v5.2.x+ a seperate linux-headers package is not needed…

Example i borrowed from the mailing list…

modprobe kheaders
rm -rf $HOME/headers
mkdir -p $HOME/headers
tar -xvf /sys/kernel/kheaders.tar.xz -C $HOME/headers >/dev/null
cd my-kernel-module
make -C $HOME/headers M=$(pwd) modules
rmmod kheaders


Awesome, that’s nifty. Thank you so much for the pointer!

What’s the difference between and with respect to a Rev C Beaglebone Black?
Why one and not the other?