[ARMHF] Debian 10.x/11.x/12.x Kernel Updates

I’m looking to end the “update_kernel.sh” 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:

Example

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

sudo apt update
sudo apt install bbb.io-kernel-5.10-ti-am335x
sudo reboot

Upgrades:

sudo apt update ; sudo apt upgrade

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

*-ti branches:

These follow, TI’s lts branch for as long as TI maintaines it Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel.git/summary

v4.19.x-ti branch:

TI LTS branch: Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel.git/shortlog

bbb.io-kernel-4.19-ti-am335x - BeagleBoard.org 4.19-ti for am335x
bbb.io-kernel-4.19-ti-am57xx - BeagleBoard.org 4.19-ti for am57xx

v4.19.x-ti-rt branch:

TI LTS branch: Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel.git/shortlog

bbb.io-kernel-4.19-ti-rt-am335x - BeagleBoard.org 4.19-ti-rt for am335x
bbb.io-kernel-4.19-ti-rt-am57xx - BeagleBoard.org 4.19-ti-rt for am57xx

v5.4.x-ti branch:

TI LTS branch: Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel.git/shortlog

bbb.io-kernel-5.4-ti-am335x - BeagleBoard.org 5.4-ti for am335x
bbb.io-kernel-5.4-ti-am57xx - BeagleBoard.org 5.4-ti for am57xx

v5.4.x-ti-rt branch:

TI LTS branch: Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel.git/shortlog

bbb.io-kernel-5.4-ti-rt-am335x - BeagleBoard.org 5.4-ti-rt for am335x
bbb.io-kernel-5.4-ti-rt-am57xx - BeagleBoard.org 5.4-ti-rt for am57xx

v5.10.x-ti branch:

TI LTS branch: Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel.git/shortlog

bbb.io-kernel-5.10-ti-am335x - BeagleBoard.org 5.10-ti for am335x
bbb.io-kernel-5.10-ti-am57xx - BeagleBoard.org 5.10-ti for am57xx

v5.10.x-ti-rt branch:

TI LTS branch: Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel.git/shortlog

bbb.io-kernel-5.10-ti-rt-am335x - BeagleBoard.org 5.10-ti-rt for am335x
bbb.io-kernel-5.10-ti-rt-am57xx - BeagleBoard.org 5.10-ti-rt for am57xx

v4.19.x LTS mainline branches:

bbb.io-kernel-4.19-armv7 - BeagleBoard.org 4.19-armv7 for armv7
bbb.io-kernel-4.19-armv7-rt - BeagleBoard.org 4.19-armv7-rt for armv7
bbb.io-kernel-4.19-armv7-lpae - BeagleBoard.org 4.19-armv7-lpae for armv7-lpae
bbb.io-kernel-4.19-bone - BeagleBoard.org 4.19-bone for am335x
bbb.io-kernel-4.19-bone-rt - BeagleBoard.org 4.19-bone-rt for am335x

v5.4.x LTS mainline branches:

bbb.io-kernel-5.4-armv7 - BeagleBoard.org 5.4-armv7 for armv7
bbb.io-kernel-5.4-armv7-rt - BeagleBoard.org 5.4-armv7-rt for armv7
bbb.io-kernel-5.4-armv7-lpae - BeagleBoard.org 5.4-armv7-lpae for armv7-lpae
bbb.io-kernel-5.4-bone - BeagleBoard.org 5.4-bone for am335x
bbb.io-kernel-5.4-bone-rt - BeagleBoard.org 5.4-bone-rt for am335x

v5.10.x LTS mainline branches:

bbb.io-kernel-5.10-armv7 - BeagleBoard.org 5.10-armv7 for armv7
bbb.io-kernel-5.10-armv7-rt - BeagleBoard.org 5.10-armv7-rt for armv7
bbb.io-kernel-5.10-armv7-lpae - BeagleBoard.org 5.10-armv7-lpae for armv7-lpae
bbb.io-kernel-5.10-bone - BeagleBoard.org 5.10-bone for am335x
bbb.io-kernel-5.10-bone-rt - BeagleBoard.org 5.10-bone-rt for am335x

v5.15.x LTS mainline branches:

bbb.io-kernel-5.15-armv7 - BeagleBoard.org 5.15-armv7 for armv7
bbb.io-kernel-5.15-armv7-rt - BeagleBoard.org 5.15-armv7-rt for armv7
bbb.io-kernel-5.15-armv7-lpae - BeagleBoard.org 5.15-armv7-lpae for armv7-lpae
bbb.io-kernel-5.15-bone - BeagleBoard.org 5.15-bone for am335x
bbb.io-kernel-5.15-bone-rt - BeagleBoard.org 5.15-bone-rt for am335x

v6.1.x LTS mainline branches:

bbb.io-kernel-6.1-bone - BeagleBoard.org 6.1-bone for am335x
bbb.io-kernel-6.1-bone-rt - BeagleBoard.org 6.1-bone-rt for am335x

Updates

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

Regards,

5 Likes

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

sudo apt update
sudo apt install bbb.io-kernel-5.10-ti-am335x
sudo reboot

And I want to switch

sudo apt install bbb.io-kernel-5.10-bone
sudo reboot

Can I purge the original branch?

sudo apt purge bbb.io-kernel-5.10-ti-am335x

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

Regards

Hi @DTJF in that case, order is important:

sudo apt update
sudo apt install bbb.io-kernel-5.10-ti-am335x

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

sudo apt install bbb.io-kernel-5.10-bone

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

So you can safely run:

sudo apt remove bbb.io-kernel-5.10-ti-am335x

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

If you were to leave both bbb.io-kernel-5.10-ti-am335x and bbb.io-kernel-5.10-bone installed, “whatever” got the next kernel update would become your default in /boot/uEnv.txt

Regards,

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,
Johan.

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

Regards,

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,
Johan

Right now: v5.10.x:

https://www.kernel.org/category/releases.html

sudo apt update ; sudo apt install bbb.io-kernel-5.10-bone

Regards,

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…

Regards,

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?

Seth

That’ll work perfectly fine on Bullseye.

Regards,

1 Like

Yes sir,

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

Seth

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))

Regards,

3 Likes

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

Regards,

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

What’s the difference between bbb.io-kernel-5.10-ti-am335x and bbb.io-kernel-5.10-bone with respect to a Rev C Beaglebone Black?
Why one and not the other?