Kernel upgrade from running system

Dear all, I need to upgrade the kernel of some colibri modules.

Using u-boot is not an option but I can connect via ssh on that modules.

I think I have to use some sort of mtd device utility in order to write the module emmc, but I am new to this topic and I don’t know exactly the steps to do this. In my mind the steps are:

  1. copy the new kernel, device tree and the modules on the board
  2. install the new kernel and modules via opkg (installing the kernel is unnecessary, but is a simpel way to extract it from ipk packet)
  3. write the kernel uImage file on the eMMC (don’t know how)
  4. write the device tree on the eMMC (don’t know how)
  5. reboot

Any help will be appreciated.

For further products could be a better choice to integrate the kernel in the rootfs? How can I change u-boot environment in order to do this?


The Colibri iMX6 uses a eMMC, which is a regular block device (like a hard drive). There are no special utilities required such as mtd-utils (this is only for raw NAND based devices, e.g. Colibri VF50/VF61/iMX7).

The kernel and device tree is stored on a separate FAT partition, the first partition (usually /dev/mmcblk0p1). The boot scripts should have mounted that partition, you can use df to see the mounted partitions. On 2.7b3 images it is mounted under /media/mmcblk0p1, so you can simply move the files to this location.