Other Parts Discussed in Thread: SK-AM64B,
Tool/software:
Hi,
After compiling uboot and kernel, how should I generate the corresponding tisdk-default-image-am64xx-evm.tar.xz file? Can you provide a relevant link?Thank you very much!
how should I generate the corresponding tisdk-default-image-am64xx-evm.tar.xz file?
This is the `rootfs` archive file and is output of the Yocto build process. To generate your own, see https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_02_01_10/exports/docs/linux/Overview_Building_the_SDK.html
For initial evaluation you can also simple use the `rootfs` archive that's part of the `filesystem/` folder part of the AM64 SDK installer, such as this one (the reference to SDK v9.1 in my path is just meant as an example, in your case you'd likely want to use the current SDK v9.2).
a0797059@dasso:~/ti $ find . -name tisdk-default-image-am64xx-evm.tar.xz ./ti-processor-sdk-linux-am64xx-evm-09.01.00.08/filesystem/am64xx-evm/tisdk-default-image-am64xx-evm.tar.xz
Regards, Andreas
Hi,
I am currently planning to boot Linux from eMMC, and the premise is to use an SD card to boot Linux. I followed the official instructions and was asked to use the tisdk-default-image-am64xx-evm.tar.xz file. Is this the only way to fix Linux to eMMC? I refer to the link you gave and found that it takes a long time to make this file. Is there any other way?
The following is the official process description:
Untar this image to the newly created eMMC partition. Below is an example on how this can be done, assuming the Linux image has been copied to /home/root
folder on the EVM.
# mkdir -p /mnt/temp
# mount -t ext4 /dev/mmcblk0p1 /mnt/temp
# cd /mnt/temp
# tar xf <Linux image file copied from the host>
# cd ..
# umount temp
Is there a way to flash linux to emmc without tisdk-default-image-am64xx-evm.tar.xz file?
Hi,
I followed your instructions and the following prompt appeared when I executed the generated file. Did I miss something?
I did not find any related generated files.
refer to the link you gave and found that it takes a long time to make this file. Is there any other way?
Download the SDK installer and run it, the rootfs tarball will be installed on your machine at a location similar to what I had shown. There's no build involved or anything when using the SDK-provided rootfs, so it should go quickly.
Regards, Andreas
I followed your instructions and the following prompt appeared when I executed the generated file. Did I miss something?
I did not find any related generated files.
Something went wrong with the Yocto build and the bitbake process is probably hanging in the background (you could use the `ps` tool to check, and `kill` to remove the hanging process). But the easiest might be to just restart your computer.
Also as per earlier comment if you want to program the eMMC with the standard tisdk-default-image based rootfs you can just use the tarball that gets installed with the SDK installer. You don't need to rebuild this file using Yocto unless you want to modify the rootfs (probably later on, but usually not right away for the initial test/boot).
Regards, Andreas
Hi,
I have modified the kernel again. Do I need to regenerate the tisdk-default-image-am64xx-evm.tar.xz file? I found the default file after installing the SDK. I want to regenerate a new file now.
If you modified the kernel you don't need to re-generate the rootfs. You can just replace the kernel image and(!) the kernel modules (using `make modules_install`, and while doing that make sure you use the INSTALL_MOD_PATH parameter to point to an appropriate folder location).
Regards, Andreas
Hi,
According to your explanation, can I use the default tisdk-default-image-am64xx-evm.tar.xz file in the SDK directory, first decompress this compressed file in the emmc path, and then put the newly generated kernel image fitimage in the emmc path to overwrite it, and then directly use the make modules_install command on the development board to install the new kernel on the emmc? This is also my first time dealing with Linux, please forgive me if I am wrong, can you explain the update operation?
Hi,
I have another question, how can I automatically boot from emmc after setting the emmc boot, without entering the boot command when I power on again?
When your initial boot binaries (tiboot3.bin, tispl.bin, u-boot.img) are booted from eMMC, the boot chain should automatically continue booting from eMMC. Also our U-Boot is configured to automatically boot (after a short 3s count-down). If you see something different, please post a log so we can investigate.
Regards, Andreas
Hi,
I followed the instructions to boot Linux from eMMC. When I completed the settings and entered the boot command, the following error was returned:
U-Boot 2021.01-00001-g7e12ed6f28-dirty (Aug 06 2024 - 14:20:12 +0800)
SoC: AM64X SR2.0 HS-FS
Model: Texas Instruments AM642 EVM
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -1
DRAM: 2 GiB
NAND: 0 MiB
MMC: mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment
In: serial@2800000
Out: serial@2800000
Err: serial@2800000
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -1
Net: eth0: ethernet@8000000port@1
Hit any key to stop autoboot: 0
=> setenv mmcdev 0
=> setenv bootpart 0
=> saveenv
Saving Environment to FAT... Error: no space left: 131072
Error: writing contents
At this time, I can start it normally by entering the command, but I need to enter it every time, not automatically start.
=> setenv mmcdev 0
=> setenv bootpart 0:1
=> boot
Did you program U-Boot to eMMC?
Did you boot with the SD card removed?
I followed the official instructions and was asked to use the tisdk-default-image-am64xx-evm.tar.xz file
Can you please point me to (link) those instructions?
Regards, Andreas
Hi,
https://dev.ti.com/tirex/explore/node?node=A__Acd0nQTgfZUAAJJCnbWdKQ__AM64-ACADEMY__WI1KRXP__LATEST
I followed this. I have programed U-Boot to eMMC,and booted with the SD card removed.
U-Boot 2021.01-00001-g7e12ed6f28-dirty (Aug 06 2024 - 14:20:12 +0800)
Looks like you are using U-Boot from SDK v8.6.
Can you try moving to the latest SDK v9.2? The U-Boot version should show "U-Boot 2023.04". Also, Note that the "saveenv" command is not supported in the newer U-Boot, but should also not be needed.
Regards, Andreas
Hi,
Thanks for your reply. If I do not plan to change to 9.2, what method can I use to complete this function based on the current version?If I replace the latest uboot, do I only need to update the latest uboot package?
Hi!
I'd not recommend mixing U-Boot / rootfs / Kernel from different SDK versions, as there are some dependencies related to memory maps, device tree files, device firmwares (TIFS, DM), etc.
So what specific SDK version do you want the eMMC boot to work? SDK v8.6?
Regards, Andreas
Hello,
I want the eMMC boot to work on SDK v8.6.I hope you can give some advice to complete this function.
Hi,
Andreas will be out of office for next couple of days, please expect delays in responses.
Regards,
Krunal
Are you trying this on the TI SK-AM64B platform? Or your custom HW?
Regards, Andreas
On my HW,the chip used is AM6422, the SDK version is 8.6, and the kernel version is 5.10.We refer to TI evaluation board AM64XX-EVM hardware.
Hi, can we consider this thread as resolved considering the same issue is discussed & resolved on your other thread?