Boot ce by ttl command line

I have a development board with the S905X4 chip, which has a capacity of 2GB RAM and 8GB storage. I connected it via TTL and found that it is running on a system called AOCPU RTOS. How can I boot CE using the TTL command line?

AML uses u-boot, rtos is for bl30, suspend

Using Ctrl+C can interrupt the process and stay in U-Boot.Typing command from aml_autoscript can boot from usb?

Try the following commands from u-boot console:

boot@SDC or boot@USB

boot@sd boot@usb can’t work.
usbboot usb 0:1 kernel.img
error msg : unknown image type

No, these are not aml boot commands.
It’s hard to lead through what needs to be done.
So easiest is to make more research and compare with an existing booting aml device.
Or just flash Android from another vendor, maybe u-boot is than compatible.
There are multiple ways…

can’t work.some info for now

# help
?       - alias for 'help'
adnl    - use Amlogic DNL protocol
aml_key_burn- Burning keys from external device(sdmmc/udisk/memory) other than usb device
aml_sysrecovery- Burning with amlogic format package from partition sysrecovery
amlbootsta- get bootloader status in env
amlmmc  - AMLMMC sub system
amlsecurecheck- try bootloader/dtb/recovery secure check
autoscr - DEPRECATED - use "source" command instead
avb     - avb
bar     - Test dynamic upgrade progress bar
base    - print or set address offset
bcb     - bcb
blkcache- block cache diagnostics and control
bmp     - manipulate BMP image data
boot    - boot default, i.e., run 'bootcmd'
boot_cooling- cpu temp-system
bootd   - boot default, i.e., run 'bootcmd'
bootefi - Boots an EFI payload from memory
bootelf - Boot from an ELF image in memory
booti   - boot arm64 Linux Image image from memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
c2l_sys_pwm_led- set sys pwm led config
check_and_run_recovery- check_and_run_recovery
clkmsr  - Amlogic measure clock
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
cvbs    - CVBS sub-system
dcache  - enable or disable data cache
ddr_auto_fast_boot_check- ddr_fastboot_config cmd arg1 arg2 arg3...
ddr_auto_scan_drv- ddr_test_cmd cmd arg1 arg2 arg3...
ddr_auto_test_window- ddr_test_cmd cmd arg1 arg2 arg3...
ddr_cpu_test- ddr_test_cmd cmd arg1 arg2 arg3...
ddr_fast_boot- ddr_fastboot_config cmd arg1 arg2 arg3...
ddr_g12_offset_data- ddr_g12_offset_data  1 0  0 0  1 3
ddr_g12_override_data- ddr_g12_override_data  1 0  0 0  1 3
ddr_spec_test- DDR test function
ddr_test_cmd- ddr_test_cmd cmd arg1 arg2 arg3...
ddr_test_copy- ddr_test_copy function
ddrtest - DDR test function
defenv_reserv- reserve some specified envs after defaulting env
dhcp    - boot image via network using DHCP/TFTP protocol
dsprun  - load dspboot.bin from ddr address
dspset  - set dsp clk, power domain
dtimg   - manipulate dtb/dtbo Android image
echo    - echo args to console
editenv - edit environment variable
efuse   - efuse commands
efuse_obj- eFUSE object program commands
efuse_user- efuse user space read write ops
emmc    - EMMC sub system
enable_enfuse- enable_enfuse
env     - environment handling commands
erase   - erase FLASH memory
ethloop - ethloop       - loopback test using ethernet test package

exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4size- determine a file's size
factory_provision- provision keybox

false   - do nothing, unsuccessfully
fastboot- run as a fastboot usb or udp device
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatmkdir- create a directory
fatrm   - delete a file
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt     - flattened device tree utility commands
flinfo  - print FLASH memory information
fstype  - Look up a filesystem type
g12_d2pll- g12_d2pll 1300  1 0x10 0
get_avb_mode- get_avb_mode
get_boot_part- get part name to load the bootable part
get_bootloaderversion- print bootloader version
get_process_report- do_set_process_report
get_rebootmode- get reboot mode
get_system_as_root_mode- get_system_as_root_mode
get_valid_slot- get_valid_slot
gpio    - query and control gpio pins
gzwrite - unzip and write memory to block device
hdmitx  - HDMITX sub-system
help    - print command description/usage
i2c     - I2C sub-system
icache  - enable or disable instruction cache
imgread - Read the image from internal flash with actual size
imxtract- extract a part of a multi-image
ini     - parse an ini file in memory and merge the specified section into the env
ini_model- parse ini file by env model_name
init_bootstatus- init_bootstatus
irkey   - irkey <timeout> <key1> ...<keyN> - maximum value of N: 10
itest   - return true/false on integer compare
jtagoff - disable jtag
jtagon  - enable jtag
keyman  - Unify key ops interfaces based dts cfg
keyunify- key unify sub-system
leds_state- manage amlogic LEDs
load    - load binary file from a filesystem
loop    - infinite loop on address range
ls      - list files in a directory (default /)
lzmadec - lzma uncompress a memory region
mark_LogInfo- LogInfo
md      - memory display
mdio    - MDIO utility commands
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
model_list- list ini model name
mtd     - MTD utils
musb    - using for get USB information
mw      - memory write (fill)
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
os_ident- identify OS type
osd     - osd sub-system
part    - disk partition related commands
phyreg  - ethernet phy register read/write/dump
ping    - send ICMP ECHO_REQUEST to network host
pinmux  - show pin-controller muxing
powerset- power on/off a certain power domain
powershow- show the power domain status , 0: on; 1: off
printenv- print environment variables
printf_LogInfo- LogInfo
protect - enable or disable FLASH write protection
pxe     - commands to get and boot from pxe files
rarpboot- boot image via network using RARP/TFTP protocol
rdext4pic- read logo bmp from ext4 part
readMetadata- readMetadata
read_deviceinfo_loaderflag- read_deviceinfo_loaderflag
read_temp- cpu temp-system
reboot  - set reboot mode and reboot system
reset   - Perform RESET of the CPU
rpmb_init- RPMB sub-system
rpmb_state- RPMB sub-system
rsvmem  - reserve memory
run     - run commands in an environment variable
run_ValidSlot- do_run_ValidSlot
saradc  - saradc sub-system
save    - save file to a filesystem
save_bootstatus- save_bootstatus x
save_fingerprint- save fingerprint
saveenv - save environment variables to persistent storage
sdc_burn- Burning with amlogic format package in sdmmc
sdc_update- Burning a partition with image file in sdmmc card
set_active_slot- set_active_slot
set_bootstatus- set_bootstatus x x
set_process_report- do_set_process_report
set_roll_flag- set_roll_flag
set_usb_boot- set usb boot mode
setenv  - set environment variables
sha2    - SHA2 command
showvar - print local hushshell variables
size    - determine a file's size
sk_init_env- sk_init_env
sk_version- update version
source  - run script from memory
sspi    - SPI utility command
startdsp- load dspboot.bin from address
store   - STORE sub-system:
sys_pwm_led- set sys pwm led config
sysboot - command to get and boot from syslinux files
systemoff- system off
temp_triming- cpu temp-system
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
unpackimg- un pack logo image into pictures
unzip   - unzip a memory region
update  - Enter v2 usbburning mode
update_tries- update_tries
usb     - USB sub-system
usb_burn- Burning with amlogic format package in usb
usb_update- Burning a partition with image file in usb host
usbboot - boot from USB device
version - print monitor, compiler and linker version
vout    - VOUT sub-system
vout2   - VOUT2 sub-system
vpp     - vpp sub-system
vpu     - vpu sub-system
watchdog- enable or disable watchdog
watermark_init- initialize watermark

# version
U-Boot 2019.01 (Jul 11 2022 - 20:48:11 +0000)

aarch64-elf-gcc (Linaro GCC 7.3-2018.05) 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701]
GNU ld (Linaro_Binutils-2018.05) 2.28.2.20170706

try boot from CE USB stick

# usbboot usb 0:1

Loading from usb device 0, partition 1: Name: usbda1  Type: U-Boot
** Unknown image type
# usbboot kernel.img 0:1

Loading from usb device 0, partition 1: Name: usbda1  Type: U-Boot
** Unknown image type

printenv would be more helpful.

# printenv
API_update_type=off
ARG_offset=0x202c0
ARG_size=0x5eec38
C2L_upgrade_value=system_crash
EnableSelinux=permissive
Irq_check_en=0
LanCode=ESP
active_slot=_a
androidboot.device_state=locked
arch=arm
avb2=1
baudrate=115200
bcb_cmd=get_avb_mode;get_valid_slot;if test ${vendor_boot_mode} = true; then setenv loadaddr_kernel 0x3080000;setenv dtb_mem_addr 0x1000000;fi;
board=ohm
board_logo_part=odm_ext
board_name=sc2_ah212
bootLogoPart=odm_ext_a
boot_ddr_type=DDR3
boot_flag=0
boot_from_launcher=0
boot_part=boot_a
bootargs=init=/init console=ttyS0,921600 no_console_suspend earlycon=aml-uart,0xfe07a000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 loop.max_part=4 otg_device=1 logo=osd0,loaded,0x00300000 vout=576cvbs,enable panel_type=lcd_1 hdmitx=, hdmimode=1080p60hz hdmichecksum=0x00000000 dolby_vision_on=0 hdr_policy=0 hdr_priority= frac_rate_policy=1 hdmi_read_edid=1 cvbsmode=576cvbs osd_reverse=0 video_reverse=0 irq_check_en=0 androidboot.selinux=permissive androidboot.firstboot=1 androidboot.device_state=locked jtag=disable disable_ir=0 androidboot.bootloader=1.2.1 androidboot.hardware=amlogic mac=31:2e:31:2e:30: androidboot.mac=31:2e:31:2e:30: androidboot.wificountrycode=US androidboot.serialno=1023456789 console=off androidboot.rpmb_state=0x1
bootcmd=if test ${bootfromnand} = 1; then setenv bootfromnand 0; saveenv; else run bootfromsd; run bootfromusb; run bootfromemmc; fi; run storeboot
bootdelay=0
bootfromemmc=run cfgloademmc
bootfromnand=0
bootfromsd=if mmcinfo; then run cfgloadsd; fi
bootfromusb=usb start; if usb storage; then run cfgloadusb; fi
bootloader_version=1.2.1
bootm_low=0
bootm_size=80000000
ce_on_emmc=no
cfgloademmc=for p in 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F; do if fatload mmc 1:${p} ${loadaddr} cfgload; then setenv device mmc; setenv devnr 1; setenv partnr ${p}; setenv ce_on_emmc "yes"; source ${loadaddr}; autoscr ${loadaddr}; fi; done;
cfgloadsd=if fatload mmc 0:1 ${loadaddr} cfgload; then setenv device mmc; setenv devnr 0; setenv partnr 1; source ${loadaddr}; autoscr ${loadaddr}; fi
cfgloadusb=if fatload usb 0:1 ${loadaddr} cfgload; then setenv device usb; setenv devnr 0; setenv partnr 1; source ${loadaddr}; autoscr ${loadaddr}; fi
cmdline_keys=setenv region_code US;setenv usid ah212${cpu_id};if keyman init 0x1234; then if keyman read usid ${loadaddr} str; then fi;if keyman read region_code ${loadaddr} str; then fi;if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;if keyman read deviceid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.deviceid=${deviceid};fi;fi;setenv bootargs ${bootargs} androidboot.wificountrycode=${region_code};setenv bootargs ${bootargs} androidboot.serialno=${usid};setenv serial ${usid}; setenv serial# ${usid};factory_provision init;
common_dtb_load=imgread dtb _aml_dtb ${dtb_mem_addr}
countryCode=ARG
cpu=armv8
cpu_id=8056101904402125
cvbs_drv=0
cvbsmode=576cvbs
disable_ir=0
display_bpp=24
display_color_bg=0
display_color_fg=0xffff
display_color_index=24
display_height=576
display_layer=osd0
display_width=720
dolby_status=1
dolby_vision_on=0
dtb_mem_addr=0x1000000
dv_fw_addr=0xa00000
dv_fw_dir=/reserved/firmware/dovi_fw.bin
dv_fw_dir_odm_ext=/odm_ext/firmware/dovi_fw.bin
dv_fw_dir_vendor=/vendor/firmware/dovi_fw.bin
enable_hard_reset=YES
ethaddr=02:ad:32:01:d0:71
ext4LogoPath=/logo_files/bootup.bmp
ext4logoLoadCmd=ext4load mmc 1:${logoPart} ${logoLoadAddr} ${ext4LogoPath}
fatload_dev=usb
fb_addr=0x00300000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
fdtaddr=1000000
fdtcontroladdr=7f7770b0
firstboot=1
frac_rate_policy=1
fs_type=rootfstype=ramfs
gatewayip=10.18.9.1
get_os_type=if store read ${os_ident_addr} ${boot_part} 0 0x1000; then os_ident ${os_ident_addr}; fi
hdmi_read_edid=1
hdmichecksum=0x00000000
hdmimode=1080p60hz
hdr_policy=0
hostname=arm_gxbb
init_display=get_rebootmode;echo reboot_mode:::: ${reboot_mode};if test ${reboot_mode} = quiescent; then setenv reboot_mode_android quiescent;setenv dolby_status 0;setenv dolby_vision_on 0;run storeargs;setenv bootargs ${bootargs} androidboot.quiescent=1;osd open;osd clear;else if test ${reboot_mode} = recovery_quiescent; then setenv reboot_mode_android quiescent;setenv dolby_status 0;setenv dolby_vision_on 0;run storeargs;setenv bootargs ${bootargs} androidboot.quiescent=1;osd open;osd clear;else setenv reboot_mode_android normal;run storeargs;hdmitx hpd;hdmitx get_preferred_mode;hdmitx get_parse_edid;dovi process;watermark_init;osd open;osd clear;run load_bmp_logo;bmp scale;vout output ${outputmode};dovi set;dovi pkg;vpp hdrpkt;fi;fi;
initargs=init=/init console=ttyS0,921600 no_console_suspend earlycon=aml-uart,0xfe07a000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 loop.max_part=4
initrd_high=7f800000
ipaddr=10.18.9.97
irkey_down=0xfe01f708
irkey_left=0xfd02f708
irkey_menu=0xe41bf708
irkey_right=0xfc03f708
irkey_standby=0xf50af708
irkey_up=0xff00f708
irremote_ops=setenv bootargs ${bootargs} console=off;if irkey 3000000 ${irkey_standby} ${irkey_up} ${irkey_down} ${irkey_left} ${irkey_right} ${irkey_menu}; then echo read irkey ok!; if itest ${irkey_value} == ${irkey_up}; then setenv recovery_command "--update_package=/udisk/update.zip";saveenv;run recovery_from_flash;else if itest ${irkey_value} == ${irkey_right}; then run update;else if itest ${irkey_value} == ${irkey_down}; then if usb start 0; then if fatload usb 0 ${loadaddr} ${userenv}; then echo Loaded environment from ${userenv} successfully;env import -t ${loadaddr} ${filesize};if test -n ${extenv}; then run extenv;echo user_panelid_type=${user_panelid_type};keyman write projid str ${user_panelid_type};sleep 1; reset;else;echo did not detect valid command extenv;fi;fi;fi;else if itest ${irkey_value} == ${irkey_left}; then setenv bootargs ${bootargs} console=ttyS0,115200;fi;fi;fi;fi;fi;
jtag=disable
load_bmp_logo=if rdext4pic ${board_logo_part} $loadaddr; then bmp display $logoLoadAddr; else if imgread pic logo $countryCode $loadaddr; then bmp display $logo_offset; else if imgread pic logo NO $loadaddr; then bmp display $logo_offset; fi;fi; fi;
loadaddr=0x00020000
loadaddr_kernel=0x3080000
loadaddr_rtos=0x00001000
lock=10101000
log_activation=YES
logoLoadAddr=20000
logoPart=d
logo_offset=0x202c0
mac=31:2e:31:2e:30:
netmask=255.255.255.0
os_ident_addr=0x00500000
osd_reverse=0
otg_device=1
outputmode=576cvbs
panel_type=lcd_1
partition_mode=normal
preboot=run bcb_cmd; run upgrade_check;run storeargs;run irremote_ops;bcb uboot-command;run switch_bootmode;
reboot_mode=normal
reboot_mode_android=normal
recovery_from_fat_dev=setenv loadaddr ${loadaddr_kernel};if fatload ${fatload_dev} 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload ${fatload_dev} 0 ${loadaddr} recovery.img; then if fatload ${fatload_dev} 0 ${dtb_mem_addr} dtb.img; then echo ${fatload_dev} dtb.img loaded; fi;setenv bootargs ${bootargs} ${fs_type};bootm ${loadaddr};fi;
recovery_from_flash=echo active_slot: ${active_slot};setenv loadaddr ${loadaddr_kernel};setenv bootargs ${bootargs} ${fs_type} aml_dt=${aml_dt} recovery_part=${recovery_part} recovery_offset=${recovery_offset};if test ${upgrade_step} = 3; then if ext4load mmc 1:2 ${dtb_mem_addr} /recovery/dtb.img; then echo cache dtb.img loaded; fi;if test ${vendor_boot_mode} = true; then if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then bootm ${loadaddr}; fi;else if ext4load mmc 1:2 ${loadaddr} /recovery/recovery.img; then echo cache recovery.img loaded; wipeisb; bootm ${loadaddr}; fi;fi;else if imgread dtb ${recovery_part} ${dtb_mem_addr}; then else echo restore dtb; run common_dtb_load;fi;fi;if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then bootm ${loadaddr};else reboot;fi;
recovery_from_sdcard=setenv fatload_dev mmc;if mmcinfo; then run recovery_from_fat_dev; fi;
recovery_from_udisk=setenv fatload_dev usb;if usb start 0; then run recovery_from_fat_dev; fi;
recovery_offset=0
recovery_part=recovery_a
region_code=US
rescueflag=androidboot.oem.rescueflag=0
rollback_flag=0
rpmb_state=1
sdcburncfg=aml_sdc_burn.ini
serial=1023456789
serial#=1023456789
serverip=10.18.9.113
silent=1
slot-suffixes=0
soc=sc2
stderr=serial@a000
stdin=serial@a000
stdout=serial@a000
storage_param=store param;setenv bootargs ${bootargs} ${mtdbootparts};
storeargs=get_bootloaderversion;setenv bootargs ${initargs} otg_device=${otg_device} logo=${display_layer},loaded,${fb_addr} vout=${outputmode},${vout_init} panel_type=${panel_type} hdmitx=${cecconfig},${colorattribute} hdmimode=${hdmimode} hdmichecksum=${hdmichecksum} dolby_vision_on=${dolby_vision_on} hdr_policy=${hdr_policy} hdr_priority=${hdr_priority} frac_rate_policy=${frac_rate_policy} hdmi_read_edid=${hdmi_read_edid} cvbsmode=${cvbsmode} osd_reverse=${osd_reverse} video_reverse=${video_reverse} irq_check_en=${Irq_check_en}  androidboot.selinux=${EnableSelinux} androidboot.firstboot=${firstboot} androidboot.device_state=${androidboot.device_state}  jtag=${jtag} disable_ir=${disable_ir};setenv bootargs ${bootargs} androidboot.bootloader=${bootloader_version} androidboot.hardware=amlogic;run cmdline_keys;
storeboot=run get_os_type;run storage_param;if test ${os_type} = rtos; then setenv loadaddr ${loadaddr_rtos};store read ${loadaddr} ${boot_part} 0 0x400000;bootm ${loadaddr};else if test ${os_type} = kernel; then get_system_as_root_mode;echo system_mode in storeboot: ${system_mode};get_avb_mode;echo active_slot in storeboot: ${active_slot};if test ${system_mode} = 1; then setenv bootargs ${bootargs} ro rootwait skip_initramfs;else if test ${vendor_boot_mode} = true; then echo come to vendor_boot true;setenv bootargs ${bootargs} androidboot.force_normal_boot=1;else setenv bootargs ${bootargs} ${fs_type};fi;fi;if test ${active_slot} != normal; then setenv bootargs ${bootargs} androidboot.slot_suffix=${active_slot};fi;setenv bootargs ${bootargs} androidboot.rollback=${rollback_flag};if fdt addr ${dtb_mem_addr}; then else echo retry common dtb; run common_dtb_load; fi;setenv loadaddr ${loadaddr_kernel};if imgread kernel ${boot_part} ${loadaddr}; then bootm ${loadaddr}; fi;else echo wrong OS format ${os_type};update_tries;reboot;fi;fi;echo try upgrade as booting failure; run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then run recovery_from_flash;else if test ${reboot_mode} = update; then run update;else if test ${reboot_mode} = quiescent; then setenv bootargs ${bootargs} androidboot.quiescent=1;else if test ${reboot_mode} = recovery_quiescent; then setenv bootargs ${bootargs} androidboot.quiescent=1;run recovery_from_flash;else if test ${reboot_mode} = cold_boot; then else if test ${reboot_mode} = fastboot; then fastboot 0;fi;fi;fi;fi;fi;fi;
update=run usb_burning; run recovery_from_sdcard;run recovery_from_udisk;run recovery_from_flash;
upgrade_check=echo recovery_status=${recovery_status};if itest.s "${recovery_status}" == "in_progress"; then run init_display;run storeargs; run recovery_from_flash;else fi;echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display;run storeargs; run update; fi;
upgrade_key=if gpio input GPIOD_3; then echo detect upgrade key;if test ${boot_flag} = 0; then echo enter fastboot; setenv boot_flag 1; saveenv; fastboot 0;else if test ${boot_flag} = 1; then echo enter update; setenv boot_flag 2; saveenv; run update;else echo enter recovery; setenv boot_flag 0; saveenv; run recovery_from_flash;fi;fi;fi;
upgrade_step=2
usb_burning=adnl 1200
userenv=baofeng_panelid.env
usid=1023456789
vendor=amlogic
vendor_boot_mode=true
vendor_boot_part=vendor_boot
verify_failed_part=inital
video_reverse=0
vout_init=enable

Environment size: 11731/65532 bytes

issue the command:

run recovery_from_udisk

this command can’t work.it boot into rtos.