LS1046ARDB - How to update Linux kernel and device tree on SD card

Showing results for 
Search instead for 
Did you mean: 

LS1046ARDB - How to update Linux kernel and device tree on SD card

LS1046ARDB - How to update Linux kernel and device tree on SD card

Follow these steps to update the Linux kernel image and device tree on the SD card. 

Compiling Linux kernel images and device tree

  1. On the Linux host, clone the repository with Linux kernel image and device tree: $ git clone
  2. $ cd linux
  3. $ git checkout -b <new branch> <start point>
    • For example, $ git checkout -b LSDK-18.09-V4.14 LSDK-18.09-V4.14

      where LSDK-18.09-V4.14 refers to a tag in the format LSDK-<LSDK version>-V<kernel version>
  4. $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig lsdk.config

    If you want to make changes to device tree, open and edit arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts

  5. $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

The binary kernel image Image and compressed kernel image Image.gz are in arch/arm64/boot/.
The device tree blob fsl-ls1046a-rdb.dtb is in arch/arm64/boot/dts/freescale/.

Copying the compiled kernel images and device tree to SD card

  1. Plug the SD card into the Linux host machine.
  2. List the disks that are accessible to the computer: $ cat /proc/partitions

    Use the command cat /proc/partitions to see a list of devices and their sizes to make sure that the correct device names have been chosen.  The SDHC storage drive in the Linux PC is detected as /dev/sdX, where X is a letter such as a, b, c. Make sure to choose the correct device name, because data on this device will be replaced.  If your Linux host machine supports read/write SDHC card directly without an extra SDHC card reader device, the device name of SDHC card is typically mmcblk0.

  3. Mount the SD card partition that contains Linux kernel images and device tree:

    $ sudo mount /dev/sdX  <mount_location>

  4. Replace Image, Image.gz, and fsl-ls1046a-rdb.dtb on the SD card with the new files compiled in the steps above.

    sudo cp linux/arch/arm64/boot/Image linux/arch/arm64/boot/Image.gz linux/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dtb <mount_location>

  5. sudo umount /dev/sdX
  6. Plug the SD card into LS1046ARDB and boot the board to Ubuntu using the SD card: => cpld reset sd

In boot log, you’ll see:

Board: LS1046ARDB, boot from SD

If U-Boot does not find LSDK on the SD card, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored on the SD card.

Labels (1)

I use flexbuild_lsdk1909_update_221019

#flex-installer -b bootpartition_LS_arm64_lts_4.19.tgz -r rootfs_lsdk1909_LS_arm64_main.tgz -f firmware_ls1046ardb_uboot_sdboot.img -d /dev/sdb

why except system ,others partition  is NULL ?

where find Image.gz / Image / fsl-ls1046a-rdb.dtb ?


and I change bootargs in pastedImage_2.png 

CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mmcblk0p4 earlycon=uart8250,mmio,0x21c0500 mtdparts=1550000.spi-0:1m(rcw),15m(u-boot),48m(kernel.itb);7e800000.flash:16m(nand_uboot),48m(nand_kernel),448m(nand_free)"

why also boot with yocto:tiny filesystem ?

Version history
Revision #:
2 of 2
Last update:
‎09-10-2020 02:40 AM
Updated by: