This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM64X: Change mmcblk0boot0 -> mmcblk0boot1 & backward from user space only

Part Number: PROCESSOR-SDK-AM64X
Other Parts Discussed in Thread: TMDS64EVM

Hi all.

 how to change mmcblk0boot0 -> mmcblk0boot1 & backward from user space only, use mmc tool , for example -> mmc bootpart enable 1 0 /dev/mmcblk0boot0 / start from mmcblk0boot0 & mmc bootpart enable 2 0 /dev/mmcblk0boot1 / start from mmcblk0boot1 .

Thank for cooperation.

Best regards.

  • Hi,

    Please look at the mmc-utils man page for information on using mmc from userspace: https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git/tree/man/mmc.1

    "bootpart enable <boot_partition> <send_ack> <device>"

    Enable the boot partition for the <device>.
    Disable the boot partition for the <device> with <boot_partition> set to 0.
    To receive acknowledgment of boot from the card set <send_ack>
    to 1, else set it to 0.

    ~ Judith

  • Thank  for you cooperation,

    But this not work , thil is a problem. With ather CPU tis work . May be problem with kernel version.

    Thank. 

  • Hi,

    Ok, if using the latest processor SDK for AM64x it should work. What SDK version are you using to verify? Also, can you show a log where this is failing? What is the error shown on the log?


    ~ Judith

  • Hi. Thank for cooperation.

    I use vertion 08.06.00.42 . I do not see error . Its OK .

    But htis not work. I use EVB - TMDS64EVM.

    Best regards.

  • Hi Alex,

    Ok, I will verify here on my end and get back to you tomorrow.

    ~ Judith

  • Hi,

    Verified that mmc bootpart is part of 08.06 SDK. Please refer to the log below:


    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project am64xx-evm ttyS2
    
    Arago 2021.09 am64xx-evm ttyS2
    
    am64xx-evm login: root
    root@am64xx-evm:~# mmc
    Usage:
    	mmc extcsd read <device>
    		Print extcsd data from <device>.
    	mmc writeprotect boot get <device>
    		Print the boot partitions write protect status for <device>.
    	mmc writeprotect boot set <device>
    		Set the boot partitions write protect status for <device>.
    		This sets the eMMC boot partitions to be write-protected until
    		the next boot.
    	mmc writeprotect user set <type><start block><blocks><device>
    		Set the write protect configuration for the specified region
    		of the user area for <device>.
    		<type> must be "none|temp|pwron".
    		    "none"  - Clear temporary write protection.
    		    "temp"  - Set temporary write protection.
    		    "pwron" - Set write protection until the next poweron.
    		<start block> specifies the first block of the protected area.
    		<blocks> specifies the size of the protected area in blocks.
    		NOTE! The area must start and end on Write Protect Group
    		boundries, Use the "writeprotect user get" command to get the
    		Write Protect Group size.
    	mmc writeprotect user get <device>
    		Print the user areas write protect configuration for <device>.
    	mmc disable 512B emulation <device>
    		Set the eMMC data sector size to 4KB by disabling emulation on
    		<device>.
    	mmc gp create <-y|-n|-c> <length KiB> <partition> <enh_attr> <ext_attr> <device>
    		Create general purpose partition for the <device>.
    		Dry-run only unless -y or -c is passed.
    		Use -c if more partitioning settings are still to come.
    		NOTE!  This is a one-time programmable (unreversible) change.
    		To set enhanced attribute to general partition being created set
    		 <enh_attr> to 1 else set it to 0.
    		To set extended attribute to general partition
    		 set <ext_attr> to 1,2 else set it to 0
    	mmc enh_area set <-y|-n|-c> <start KiB> <length KiB> <device>
    		Enable the enhanced user area for the <device>.
    		Dry-run only unless -y or -c is passed.
    		Use -c if more partitioning settings are still to come.
    		NOTE!  This is a one-time programmable (unreversible) change.
    	mmc write_reliability set <-y|-n|-c> <partition> <device>
    		Enable write reliability per partition for the <device>.
    		Dry-run only unless -y or -c is passed.
    		Use -c if more partitioning settings are still to come.
    		NOTE!  This is a one-time programmable (unreversible) change.
    	mmc status get <device>
    		Print the response to STATUS_SEND (CMD13).
    	mmc bootpart enable <boot_partition> <send_ack> <device>
    		Enable the boot partition for the <device>.
    		Disable the boot partition for the <device> if <boot_partition> is set to 0.
    		To receive acknowledgment of boot from the card set <send_ack>
    		to 1, else set it to 0.
    	mmc bootbus set <boot_mode> <reset_boot_bus_conditions> <boot_bus_width> <device>
    		Set Boot Bus Conditions.
    		<boot_mode> must be "single_backward|single_hs|dual"
    		<reset_boot_bus_conditions> must be "x1|retain"
    		<boot_bus_width> must be "x1|x4|x8"
    	mmc bkops enable <device>
    		Enable the eMMC BKOPS feature on <device>.
    		NOTE!  This is a one-time programmable (unreversible) change.
    	mmc hwreset enable <device>
    		Permanently enable the eMMC H/W Reset feature on <device>.
    		NOTE!  This is a one-time programmable (unreversible) change.
    	mmc hwreset disable <device>
    		Permanently disable the eMMC H/W Reset feature on <device>.
    		NOTE!  This is a one-time programmable (unreversible) change.
    	mmc sanitize <device>
    		Send Sanitize command to the <device>.
    		This will delete the unmapped memory region of the device.
    	mmc rpmb write-key <rpmb device> <key file>
    		Program authentication key which is 32 bytes length and stored
    		in the specified file. Also you can specify '-' instead of
    		key file path to read the key from stdin.
    		NOTE!  This is a one-time programmable (unreversible) change.
    		Example:
    		  $ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | \
    		    mmc rpmb write-key /dev/mmcblk0rpmb -
    	mmc rpmb read-counter <rpmb device>
    		Counter value for the <rpmb device> will be read to stdout.
    	mmc rpmb read-block <rpmb device> <address> <blocks count> <output file> [key file]
    		Blocks of 256 bytes will be read from <rpmb device> to output
    		file or stdout if '-' is specified. If key is specified - read
    		data will be verified. Instead of regular path you can specify
    		'-' to read key from stdin.
    		Example:
    		  $ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | \
    		    mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block -
    		or read two blocks without verification
    		  $ mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block
    	mmc rpmb write-block <rpmb device> <address> <256 byte data file> <key file>
    		Block of 256 bytes will be written from data file to
    		<rpmb device>. Also you can specify '-' instead of key
    		file path or data file to read the data from stdin.
    		Example:
    		  $ (awk 'BEGIN {while (c++<256) printf "a"}' | \
    		    echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH) | \
    		    mmc rpmb write-block /dev/mmcblk0rpmb 0x02 - -
    	mmc cache enable <device>
    		Enable the eMMC cache feature on <device>.
    		NOTE! The cache is an optional feature on devices >= eMMC4.5.
    	mmc cache disable <device>
    		Disable the eMMC cache feature on <device>.
    		NOTE! The cache is an optional feature on devices >= eMMC4.5.
    	mmc csd read <device path>
    		Print CSD data from <device path>.
    		The device path should specify the csd file directory.
    	mmc cid read <device path>
    		Print CID data from <device path>.
    		The device path should specify the cid file directory.
    	mmc scr read <device path>
    		Print SCR data from <device path>.
    		The device path should specify the scr file directory.
    	mmc ffu <image name> <device>
    		Run Field Firmware Update with <image name> on <device>.
    		
    
    	mmc help|--help|-h
    		Show the help.
    
    	mmc <cmd> --help
    		Show detailed help for a command or subset of commands.
    
    0.1
    root@am64xx-evm:~# lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    mtdblock0     31:0    0     1M  0 disk 
    mtdblock1     31:1    0     2M  0 disk 
    mtdblock2     31:2    0     4M  0 disk 
    mtdblock3     31:3    0   256K  0 disk 
    mtdblock4     31:4    0   256K  0 disk 
    mtdblock5     31:5    0  55.8M  0 disk 
    mtdblock6     31:6    0   256K  0 disk 
    mmcblk1      179:0    0  14.8G  0 disk 
    mmcblk1boot0 179:32   0  31.5M  1 disk 
    mmcblk1boot1 179:64   0  31.5M  1 disk 
    mmcblk0      179:96   0   3.7G  0 disk 
    |-mmcblk0p1  179:97   0 134.7M  0 part /run/media/mmcblk0p1
    `-mmcblk0p2  179:98   0   3.6G  0 part /
    root@am64xx-evm:~# mmc bootpart enable 1 0 /dev/mmcblk1boot0
    root@am64xx-evm:~# 
    
    


    I also used AM64x EVM.

    You should be able to use the command as well. I recommend you use the default image that comes in the SDK for AM64x. If you are building your own images, please provide how you are building and the log where the command is not working for you.

    ~ Judith

  • Hi.

    Thank for you coopeartion.

    1. You're right .

    2. I now ,  "mmc bootpart enable 1 0 /dev/mmcblk1boot0"  - start from mmcblk1boot0

                    "mmc bootpart enable 2 0 /dev/mmcblk1boot1"  - start from mmcblk1boot1 ,   You're right .

    3. I change boot partition from  mmcblk1boot1 -> mmcblk1boot0 & backwards  mmcblk1boot0 -> mmcblk1boot1 , but this not working , I see black prompt.

    4. Of course , I changed start switch for will start from mmc card to emmc flash.

    5. If I use u-boot for changes boot partition  , from  mmcblk1boot1 -> mmcblk1boot0 & backwards  mmcblk1boot0 -> mmcblk1boot1 ,

        this is work , its OK.

    Best regards. 

  • Hi Alex,

    Ok so the problem was not if we could use the command or what command to use. It is simply that it is not working for you. OK.

    OK I tried switching from Linux with this same command and did not work for me either. I will investigate why mmc command in Linux is not working and update you here soon.

    ~ Judith

  • Hi Alex,

    I have verified that we cannot use mmc-utils to change boot mode. ROM  has no idea of this change so it will not boot with eMMC boot mode. What you could do, is modify the ctrl_mmr register to reboot using eMMC boot. These are the registers that latch on to the SYSBOOT pins and ROM boots with whichever boot mode is stored in these ctrl_mmr registers.

    ~ Judith

  • Thanks .

    I understand this is a hardware problem ?

    if i build my board it should work ?

    Best regards

  • Hi Alex,

    Sorry, I had misunderstood your question. Yes we can use bootpart command in Linux kernel to switch between boot0 and boot1 in eMMC. You only have to verify using lsblk or alike that you are writing to the correct partition. I'll include a log for your reference:

    /SD card boot
    am64xx-evm login: root
    root@am64xx-evm:~# mkdir sdboot
    root@am64xx-evm:~# mount /dev/mmcblk0p1 sdboot
    root@am64xx-evm:~# cd sdboot
    root@am64xx-evm:~/sdboot# ls
    tiboot3-am64x-gp-evm.bin  tiboot3-am64x_sr2-hs-evm.bin    tiboot3.bin  tispl.bin    u-boot.img  uEnv.txt  uboot.env  wificfg
    root@am64xx-evm:~/sdboot# echo 0 > /sys/block/mmcblk1boot0/force_ro
    root@am64xx-evm:~/sdboot# dd if=tiboot3.bin of=/dev/mmcblk1boot0 seek=0
    1127+1 records in
    1127+1 records out
    577307 bytes (577 kB, 564 KiB) copied, 0.0486175 s, 11.9 MB/s
    root@am64xx-evm:~/sdboot# dd if=tispl.bin of=/dev/mmcblk1boot0 seek=2048
    1762+1 records in
    1762+1 records out
    902455 bytes (902 kB, 881 KiB) copied, 0.0726023 s, 12.4 MB/s
    root@am64xx-evm:~/sdboot# dd if=u-boot.img of=/dev/mmcblk1boot0 seek=6144
    2210+1 records in
    2210+1 records out
    1131919 bytes (1.1 MB, 1.1 MiB) copied, 0.0874751 s, 12.9 MB/s
    root@am64xx-evm:~/sdboot# echo 1 > /sys/block/mmcblk1boot0/force_ro
    root@am64xx-evm:~/sdboot#  mmc bootpart enable 1 1 /dev/mmcblk1  
    root@am64xx-evm:~/sdboot# mmc bootbus set single_backward x1 x8 /dev/mmcblk1
    Changing ext_csd[BOOT_BUS_CONDITIONS] from 0x00 to 0x02
    root@am64xx-evm:~/sdboot# cd ../
    root@am64xx-evm:~# umount sdboot
    root@am64xx-evm:~# �
    
    //eMMC boot SW2:11010010 SW1:00000000
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:50:10 +0000)
    
    //Verified this is bootloader built with SDK on boot0
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...
    
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:50:10 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    init_env from device 9 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 13:45:56, Feb 27 2023
    I/TC: 
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Mon Feb 27 13:46:53 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:48:24 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    
    
    U-Boot 2021.01-g2ee8efd654 (Feb 27 2023 - 13:48:24 +0000)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    Board: AM64-EVM rev C
    DRAM:  2 GiB
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from FAT... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Unidentified board claims AM64-EVM in eeprom header
    Net:   eth0: ethernet@8
    =>
    
    
    //SD card boot 
    
    am64xx-evm login: root
    root@am64xx-evm:~# ls
    sdboot
    root@am64xx-evm:~# lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    mtdblock0     31:0    0     1M  0 disk 
    mtdblock1     31:1    0     2M  0 disk 
    mtdblock2     31:2    0     4M  0 disk 
    mtdblock3     31:3    0   256K  0 disk 
    mtdblock4     31:4    0   256K  0 disk 
    mtdblock5     31:5    0  55.8M  0 disk 
    mtdblock6     31:6    0   256K  0 disk 
    mmcblk0      179:0    0  14.8G  0 disk 
    mmcblk0boot0 179:32   0  31.5M  1 disk 
    mmcblk0boot1 179:64   0  31.5M  1 disk 
    mmcblk1      179:96   0  14.6G  0 disk 
    |-mmcblk1p1  179:97   0 134.7M  0 part /run/media/mmcblk1p1
    `-mmcblk1p2  179:98   0  14.4G  0 part /
    root@am64xx-evm:~# echo 0 > /sys/block/mmcblk0boot1/force_ro
    root@am64xx-evm:~# mount /dev/mmcblk1p1 sdboot
    root@am64xx-evm:~# cd sdboot
    root@am64xx-evm:~/sdboot# ls
    tiboot3.bin  tispl.bin    u-boot.img
    root@am64xx-evm:~/sdboot# dd if=tiboot3.bin of=/dev/mmcblk0boot1 seek=0
    1127+1 records in
    1127+1 records out
    577314 bytes (577 kB, 564 KiB) copied, 0.0501145 s, 11.5 MB/s
    root@am64xx-evm:~/sdboot#  dd if=tispl.bin of=/dev/mmcblk0boot1 seek=2048
    1762+1 records in
    1762+1 records out
    902611 bytes (903 kB, 881 KiB) copied, 0.0682063 s, 13.2 MB/s
    root@am64xx-evm:~/sdboot# dd if=u-boot.img of=/dev/mmcblk0boot1 seek=6144
    2210+1 records in
    2210+1 records out
    1132015 bytes (1.1 MB, 1.1 MiB) copied, 0.0828197 s, 13.7 MB/s
    root@am64xx-evm:~/sdboot# echo 1 > /sys/block/mmcblk0boot1/force_ro
    root@am64xx-evm:~/sdboot# mmc bootpart enable 2 1 /dev/mmcblk0  
    root@am64xx-evm:~/sdboot# �
    
    // eMMC boot
    U-Boot SPL 2021.01 (Jul 21 2023 - 15:37:13 -0500)
    
    //Verified this are my images on boot1
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...
    
    U-Boot SPL 2021.01 (Jul 21 2023 - 15:37:13 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    init_env from device 9 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb
    NOTICE:  BL31: Built : 15:37:19, Jul 21 2023
    I/TC: 
    I/TC: OP-TEE version: 3.20.0-rc1 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Fri Jul 21 20:37:25 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01 (Jul 21 2023 - 15:37:30 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    
    
    U-Boot 2021.01 (Jul 21 2023 - 15:37:30 -0500)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    Board: AM64-EVM rev C
    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
    Unidentified board claims AM64-EVM in eeprom header
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0 
    =>
    
     
    
    // Test bootpart with eMMC boot only
    //eMMC boot
    
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:50:10 +0000)
    
    //Verified this is bootloader built with SDK on boot0
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    init_env from device 9 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 13:45:56, Feb 27 2023
    I/TC: 
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Mon Feb 27 13:46:53 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01-g2ee8efd654 (Feb 27 2023 - 13:48:24 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    
    
    U-Boot 2021.01-g2ee8efd654 (Feb 27 2023 - 13:48:24 +0000)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    Board: AM64-EVM rev C
    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
    Unidentified board claims AM64-EVM in eeprom header
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    Failed to load 'boot.scr'
    Failed to load 'uEnv.txt'
    19147264 bytes read in 840 ms (21.7 MiB/s)
    56196 bytes read in 8 ms (6.7 MiB/s)
    ## Flattened Device Tree blob at 88000000
     Booting using the fdt blob at 0x88000000
     Loading Device Tree to 000000008feef000, end 000000008fffffff ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.10.168-g2c23e6c538 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT Mon Feb 27 14:16:24 UTC 2023
    ………………………………..
    
    cropped off
    
    ………………………………
    
    _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                 |___|                    |___|            
    
    Arago Project am64xx-evm ttyS2
    
    Arago 2021.09 am64xx-evm ttyS2
    
    am64xx-evm login: root
    root@am64xx-evm:~# lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    mtdblock0     31:0    0     1M  0 disk 
    mtdblock1     31:1    0     2M  0 disk 
    mtdblock2     31:2    0     4M  0 disk 
    mtdblock3     31:3    0   256K  0 disk 
    mtdblock4     31:4    0   256K  0 disk 
    mtdblock5     31:5    0  55.8M  0 disk 
    mtdblock6     31:6    0   256K  0 disk 
    mmcblk0      179:0    0  14.6G  0 disk 
    |-mmcblk0p1  179:1    0 134.7M  0 part /run/media/mmcblk0p1
    `-mmcblk0p2  179:2    0  14.4G  0 part /
    mmcblk1      179:32   0  14.8G  0 disk 
    mmcblk1boot0 179:64   0  31.5M  1 disk 
    mmcblk1boot1 179:96   0  31.5M  1 disk 
    root@am64xx-evm:~# mmc bootpart enable 2 1 /dev/mmcblk1  
    root@am64xx-evm:~# reboot
             Stopping Session c1 of user root.
    [  OK  ] Stopped target Multi-User System.
    [  OK  ] Stopped target Login Prompts.
    [  OK  ] Stopped target RPC Port Mapper.
    [  OK  ] Stopped target Timers.
    [  OK  ] Stopped Daily rotation of log files.
    [  OK  ] Stopped Timer service to update the IP on OLED each 10s.
    [  OK  ] Stopped Daily Cleanup of Temporary Directories.
    [  OK  ] Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
            Stopping Job spooling tools...
            Stopping Avahi mDNS/DNS-SD Stack...
            Stopping benchmark_server.service...
            Stopping Periodic Command Scheduler...
            Stopping Docker Application Container Engine...
            Stopping Ethernet Bridge Filtering Tables...
            Stopping Getty on tty1...
            Stopping irqbalance daemon...
            Stopping Reboot and dump vmcore via kexec...
            Stopping Lighttpd Daemon...
    [  OK  ] Stopped Matrix GUI.
            Stopping NFS status monitor for NFSv2/3 locking....
            Stopping rpmsg_json.service...
            Stopping Serial Getty on ttyS1...
            Stopping Serial Getty on ttyS2...
            Stopping Simple Network Ma…ent Protocol (SNMP) Daemon....
    [  OK  ] Stopped startwlanap.
    [  OK  ] Stopped startwlansta.
            Stopping strongSwan IPsec …Ev2 daemon using ipsec.conf...
            Stopping System Logger Daemon "default" instance...
            Stopping Load/Save Random Seed...
            Stopping TEE Supplicant...
            Stopping thermal-zone-init.service...
            Stopping Vsftpd ftp daemon...
    [  OK  ] Stopped Job spooling tools.
    [  OK  ] Stopped Periodic Command Scheduler.
    [  OK  ] Stopped irqbalance daemon.
    [  OK  ] Stopped System Logger Daemon "default" instance.
    [  OK  ] Stopped TEE Supplicant.
    [  OK  ] Stopped Avahi mDNS/DNS-SD Stack.
    [  OK  ] Stopped NFS status monitor for NFSv2/3 locking..
    [  OK  ] Stopped Vsftpd ftp daemon.
    [  OK  ] Stopped Getty on tty1.
    [  OK  ] Stopped Simple Network Man…ement Protocol (SNMP) Daemon..
    [  OK  ] Stopped Serial Getty on ttyS2.
    [  OK  ] Stopped benchmark_server.service.
    [  OK  ] Stopped rpmsg_json.service.
    [  OK  ] Stopped strongSwan IPsec I…IKEv2 daemon using ipsec.conf.
    [  OK  ] Stopped Lighttpd Daemon.
    [  OK  ] Stopped Serial Getty on ttyS1.
    [  OK  ] Stopped Ethernet Bridge Filtering Tables.
    [  OK  ] Stopped Reboot and dump vmcore via kexec.
    [  OK  ] Stopped Load/Save Random Seed.
    [  OK  ] Stopped thermal-zone-init.service.
    [  OK  ] Stopped Session c1 of user root.
    [  OK  ] Removed slice system-getty.slice.
    [  OK  ] Removed slice system-serial\x2dgetty.slice.
    [  OK  ] Removed slice system-syslog\x2dng.slice.
            Stopping LSB: start and stop docker...
            Stopping LSB: network benchmark...
            Stopping LSB: Expand Rootfs of boot device...
            Stopping syslog.service...
            Stopping Login Service...
            Stopping User Manager for UID 0...
    [  OK  ] Stopped User Manager for UID 0.
    [  OK  ] Stopped Docker Application Container Engine.
    [  OK  ] Stopped LSB: start and stop docker.
    [  OK  ] Stopped LSB: network benchmark.
    [  OK  ] Stopped LSB: Expand Rootfs of boot device.
    [  OK  ] Stopped syslog.service.
    [  OK  ] Stopped target Network is Online.
    [  OK  ] Stopped target Host and Network Name Lookups.
    [  OK  ] Stopped target System Time Synchronized.
    [  OK  ] Stopped target System Time Set.
            Stopping telnetd.service...
            Stopping User Runtime Directory /run/user/0...
    [  OK  ] Stopped telnetd.service.
    [  OK  ] Unmounted /run/user/0.
    [  OK  ] Stopped User Runtime Directory /run/user/0.
    [  OK  ] Removed slice User Slice of UID 0.
            Stopping D-Bus System Message Bus...
            Stopping Permit User Sessions...
    [  OK  ] Stopped D-Bus System Message Bus.
    [  OK  ] Stopped Login Service.
    [  OK  ] Stopped Permit User Sessions.
    [  OK  ] Stopped target Network.
    [  OK  ] Stopped target Remote File Systems.
            Stopping Network Name Resolution...
    [  OK  ] Stopped Network Name Resolution.
            Stopping Network Service...
    [  OK  ] Stopped Network Service.
    [  OK  ] Stopped target Network (Pre).
    [  OK  ] Stopped IPv6 Packet Filtering Framework.
    [  OK  ] Stopped IPv4 Packet Filtering Framework.
    [  OK  ] Stopped target Basic System.
    [  OK  ] Stopped target Paths.
    [  OK  ] Stopped Dispatch Password …ts to Console Directory Watch.
    [  OK  ] Stopped Forward Password R…uests to Wall Directory Watch.
    [  OK  ] Stopped target Slices.
    [  OK  ] Removed slice User and Session Slice.
    [  OK  ] Stopped target Sockets.
    [  OK  ] Closed Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Closed D-Bus System Message Bus Socket.
    [  OK  ] Closed Docker Socket for the API.
    [  OK  ] Closed dropbear.socket.
    [  OK  ] Stopped target System Initialization.
            Stopping Hardware RNG Entropy Gatherer Daemon...
            Stopping Load/Save Screen …ess of backlight:ssd1307fb0...
    [  OK  ] Stopped Apply Kernel Variables.
    [  OK  ] Stopped Load Kernel Modules.
            Stopping Network Time Synchronization...
            Stopping Update UTMP about System Boot/Shutdown...
    [  OK  ] Stopped Network Time Synchronization.
    [  OK  ] Stopped Hardware RNG Entropy Gatherer Daemon.
    [  OK  ] Stopped Load/Save Screen B…tness of backlight:ssd1307fb0.
    [  OK  ] Removed slice system-systemd\x2dbacklight.slice.
    [  OK  ] Stopped Update UTMP about System Boot/Shutdown.
    [  OK  ] Stopped Create Volatile Files and Directories.
    [  OK  ] Stopped target Local File Systems.
            Unmounting /media/ram...
            Unmounting /run/media/mmcblk0p1...
            Unmounting Temporary Directory (/tmp)...
            Unmounting /var/volatile...
    [  OK  ] Unmounted /media/ram.
    [  OK  ] Unmounted /run/media/mmcblk0p1.
    [  OK  ] Unmounted Temporary Directory (/tmp).
    [  OK  ] Unmounted /var/volatile.
    [  OK  ] Stopped target Swap.
    [  OK  ] Reached target Unmount All Filesystems.
    [  OK  ] Stopped File System Check on /dev/mmcblk0p1.
    [  OK  ] Removed slice system-systemd\x2dfsck.slice.
    [  OK  ] Stopped target Local File Systems (Pre).
    [  OK  ] Stopped Remount Root and Kernel File Systems.
    [  OK  ] Stopped Create Static Device Nodes in /dev.
    [  OK  ] Reached target Shutdown.
    [  OK  ] Reached target Final Step.
    [  OK  ] Started Reboot.
    [  OK  ] Reached target Reboot.
    [  206.184923] watchdog: watchdog0: nowayout prevents watchdog being stopped!
    [  206.184983] watchdog: watchdog0: nowayout prevents watchdog being stopped!
    [  206.184987] watchdog: watchdog0: watchdog did not stop!
    [  206.213229] systemd-shutdown[1]: Syncing filesystems and block devices.
    [  206.267253] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
    [  206.287544] systemd-journald[167]: Received SIGTERM from PID 1 (systemd-shutdow).
    [  206.309001] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
    [  206.324883] systemd-shutdown[1]: Hardware watchdog 'K3 RTI Watchdog', version 0
    [  206.335076] systemd-shutdown[1]: Unmounting file systems.
    [  206.344327] [1255]: Remounting '/' read-only in with options '(null)'.
    [  206.384889] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [  206.400152] systemd-shutdown[1]: All filesystems unmounted.
    [  206.405785] systemd-shutdown[1]: Deactivating swaps.
    [  206.411025] systemd-shutdown[1]: All swaps deactivated.
    [  206.416284] systemd-shutdown[1]: Detaching loop devices.
    [  206.425626] systemd-shutdown[1]: All loop devices detached.
    [  206.431355] systemd-shutdown[1]: Detaching DM devices.
    [  206.437008] systemd-shutdown[1]: All DM devices detached.
    [  206.442426] systemd-shutdown[1]: All filesystems, swaps, loop devices and DM devices detached.
    [  206.473673] systemd-shutdown[1]: Syncing filesystems and block devices.
    [  206.480712] systemd-shutdown[1]: Rebooting.
    [  206.506941] reboot: Restarting system
    
    U-Boot SPL 2021.01 (Jul 21 2023 - 15:37:13 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    //Verified this are my images on boot1

    ~ Judith

  • Hi.

    Thank , this is work. Thank you , very match.

    Best regards. 

  • Hi.

    Another question:

    On uboot ( prompt ) I see:

    mmc list
    mmc@fa10000: 0 (eMMC)
    mmc@fa00000: 1 (SD)

    On file system (prompt) I see:

    ls -la /dev/mmcblk*
    brw-rw---- 1 root disk 179, 0 Feb 27 13:21 /dev/mmcblk0
    brw-rw---- 1 root disk 179, 1 Feb 27 13:21 /dev/mmcblk0p1
    brw-rw---- 1 root disk 179, 2 Feb 27 13:21 /dev/mmcblk0p2
    brw-rw---- 1 root disk 179, 32 Feb 27 13:21 /dev/mmcblk1
    brw-rw---- 1 root disk 179, 64 Feb 27 13:21 /dev/mmcblk1boot0
    brw-rw---- 1 root disk 179, 96 Feb 27 13:21 /dev/mmcblk1boot1
    crw------- 1 root root 237, 0 Feb 27 13:21 /dev/mmcblk1rpmb

    Those emmc is /dev/mmcblk1 , sdcard is /dev/mmcblk0 ,  backwards , this OK ?

    Best regards.

  • Hi Alex,

    Yes I also ran into this.

    In this case mmcblk1 is eMMC. Whichever device has the boot0 and boot1 partitions should be eMMC.

    ~ Judith