How to upgrade Linux kernel 3.10ltsi into SD card (v3.9 existed)?

@LUCIANC, @roberbot, @alexlee84

Hi all,
After compiling your kernel, check this directory: /arch/arm/boot/dts copy these three files:

  • skeleton.dtsi
  • socfpga.dtsi
  • socfpga_cyclone5.dts

Now from the Embedded Command Shell, compile these files into a single .dtb file:

dtc -I dts -O dtb -o socfpga.dtb socfpga_cyclone5.dts

Copy the generated socfpga.dtb to your SD card and you should be able to boot kernel.

I tried this with kernel version 3.10-ltsi, and I think all kernel versions come with .dts files.

Note that you should edit .dts files according to the implemented hardware design. Usually, sopc2dts tool should do that but I have been struggling for a few days with this tool without getting any bootable .dtb file. Probably XML board files I am using are corrupted or incompatible with new kernels, and I could not find working copies for my board DE1-SoC.