Guide on how to upgrade kernel 3.14.79 on Freescale Cubox-i

This forum is for supported devices using an ARMv7 Freescale SoC.

Guide on how to upgrade kernel 3.14.79 on Freescale Cubox-i

Postby Musikolo » Fri Nov 19, 2021 2:25 am

I have a Freescale CuBox-i4 Pro mini-computer which has been running the kernel 3.14.79 for a really long time. I trying to upgrade it to a more modern version of the kernel, but all the documentation I found was either incomplete or confusing to me. I made a few attempts, but I was running into trouble which pushed to me roll back to the previous version. Today, I finally made it, and at last I have my device running on kernel 5.11.2 now!

Package upgrades:
- linux-imx6 (3.14.79-3) needs to be replaced by linux-armv7 and linux-armv7-cubox
- linux-imx6-headers needs to be replaced by linux-armv7-headers

One of the things that used to confuse me the most is the description of linux-armv7-cubox package: "The Linux Kernel - ARMv7 multi-platform - SolidRun Cubox (Marvell)". Since it just states it is for "Mavell" I thought it wouldn't work on "Freescale" which I later found to be a wrong assumption from my side. So, I suggest the package maintainer to update it with something like "The Linux Kernel - ARMv7 multi-platform - SolidRun Cubox (Freescale and Marvell)" to prevent confusion to others.

Once you upgrade those packages, please make sure you update your /etc/fstab file accordingly too. The reason for this is that the /dev/mmcblk0 device on kernel 3.14.79 becomes now /dev/mmcblk1 on kernel 5.x. If you don't do this little change, your device won't be able to boot up. When completed, you should be ready to restart your device now.

One important difference I noticed with the new kernel is that the red led of the digital sound output is now turned off by default. I didn't spend anytime trying to turn it on, since I don't use it. I also find my device runs slightly smoother and faster with the new kernel version, and more importantly, it's a lot more secure! Lastly, I needed that version to support modules such as wideguard and any other software that requires a modern kernel version.

Well, that's all. I hope it helps anyone!

Other useful links:
- viewtopic.php?f=45&t=11229
- viewtopic.php?f=45&t=11633
Musikolo
 
Posts: 25
Joined: Fri Jul 25, 2014 3:56 am

Re: Guide on how to upgrade kernel 3.14.79 on Freescale Cubo

Postby moonman » Fri Nov 19, 2021 8:02 am

linux-armv7h-cubox is meant for the original Cubox with Marvell Armada 510 CPU. You do not need this package for Cubox-i. While it's harmless to install it, it is not needed for Cubox-i and is not used. All it does is converts the zImage that comes with linux-armv7 main package to uImage as IIRC original cubox's UBoot was too old to load zImage (so you end up with both in /boot).

You also should not need to do anything in fstab as offical images from us come with a blank fstab file and by default the UBoot script passes PARTUUID to the kernel to mount root and not /dev/<device> path.

TL;DR All you need is install linux-armv7h (and optionally linux-armv7h-headers) and reboot.
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3387
Joined: Sat Jan 15, 2011 3:36 am

Re: Guide on how to upgrade kernel 3.14.79 on Freescale Cubo

Postby Musikolo » Wed Nov 24, 2021 1:40 am

Hi everyone!

As suggested by moonman, I removed the linux-armv7-cubox package and everything continued to work exactly the same way. So, that proves he was 100% right, and that package isn't required by Cubox-i devices at all.

Other than that, I want to mention that in my case, I handled the changes on the /etc/fstab file by using LABEL=YOUR_DEVICE_LABEL_HERE instead of using PARTUUID. In essence, they aim at the same goal, but I find LABEL somehow nicer to read. This approach requires set a label to each your partitions (ls -l /dev/disk/by-label/). So, following that, my /etc/fstab file looks like this:

$this->bbcode_second_pass_code('', '
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>

LABEL=CUBOX_MMC_BOOT /boot ext4 defaults 0 0
LABEL=CUBOX_DATA /home ext4 defaults 0 2
')

I hope this helps someone in the future!

Thank you.
Musikolo
 
Posts: 25
Joined: Fri Jul 25, 2014 3:56 am


Return to Freescale

Who is online

Users browsing this forum: No registered users and 4 guests