Home/Support/Support Forum/how to stop the boot process?
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

how to stop the boot process?

0 votes
Hello, first I was working with the wi-imx53 qsb but now I am working with the connectcore 6 sbc. I was following the imx6 documentation http://www.digi.com/resources/documentation/digidocs/90001945-13/
My board had already an uboot and an android operative system.
I want to build a linux image to install a qt app.
First I did the step 3 in the digi embedded yocto in the documentation (Step 3: Program the Yocto firmware), now the boot precess starts automatically (without boot delay) then I cant stop the boot process.
I dont know how change the bootdelay variable because the android os that I have doesnt accept the bootcmd command.
I need a little help, I am a little lost.
Thanks
asked Jan 23, 2017 in Linux by emmanuel_perea New to the Community (35 points)

Please log in or register to answer this question.

1 Answer

0 votes
you can try ubootenv command from linux shell. Not sure if it's available with yocto. otherwise build a u-boot that has a hardcoded value for boot delay. Boot via microsd, flash that u-boot. chnge bootdelay in nvram, reflash normal u-boot
answered Jan 23, 2017 by LeonidM Veteran of the Digi Community (2,789 points)
the ubootenv is not available. Sorry but how can I do that? Build a u-boot, boot via microsd, flash that that u boot, and change bootdelay in nvram?
I could boot from micro SD how explain here http://www.digi.com/resources/documentation/digidocs/90001945-13/#task/yocto/t_faq_boot_from_usd_yocto.htm
How do you flash that u-boot and change the bootdelay and reflash the normal u-boot?
This shows how to update images, including u-boot:
http://www.digi.com/resources/documentation/digidocs/90001945-13/#task/yocto/t_faq_update_fw_from_tftp_yocto.htm%3FTocPath%3DDigi%2520Embedded%2520Yocto%7CFAQ%7C_____2

But flashing stock u-boot is probably not enogh. You would need to compile your own u-boot that ignores bootdelay, first
it looks like ubootenv is part of DE1.4 so it should be there. IS it available when you boot from uSD? is not flash those, it should be there:
ftp://ftp1.digi.com/support/Digiembeddedyocto/1.4/images/ccimx53js/dey-image-minimal/
No, when I boot from uSD It's not available ubootenv, but there is a fw_setenv and fw_printenv commands that sets and prints de environment variables.
I need to build or install a linux embedded but I have an android in my connectore 6. The uboot in that android doesnt have bootdelay time and I cant stop the booting.
I could boot from uSD, but I have not ethernet connection (I tried do PING but nothing)
if you have fw_setenv and fw_printenv why can't you use them? if you boot from uSD , can you upgrade from images on usb stick? The module is the same for android and Linux. but if it's getting too complicated just RMA the module
I'm a little lost here, I want to install a linux in my connectore but the connectore have an android, I want to erase that android and install the linux, the problem is that I cant't stop the booting because the boootdelay is zero, I'm looking a way to change the bootdelay from the android os.
I could boot a linux from the uSD card but how can I put this linux in the flash?
if you can boot from uSD, you should be able to make changes to NVRAM. What stopps you from changing boot delay?
setenv bootdelay 10
saveenv
Also you even if you can't access ethernet, just make changes to partition table, so module no longer boots. delete linux/kernel partition. Next time you boot it should drop to uboot after failure to find kernel
Yes, I could boot from uSD, but when I change the boot delay only change the bootdelay variable of the uSD, the u-boot in te eMMC doesn't change.
I realize that existd two or four partitions but I dont know how makes change it. Here I past the enviorement variables that print in the u-boot from uSD
U-Boot 2013.04 - DUB-2.3.9.1 (Apr 20 2016 - 00:09:37)

CPU:   Freescale i.MX6Q rev1.5 at 792 MHz
CPU:   Temperature 49 C, calibration data: 0x5684d469
Reset cause: POR
I2C:   ready
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
In:    serial
Out:   serial
Err:   serial
Board: ConnectCore 6 SBC (undefined version)
Boot device: esdhc2 (uSD card)
PMIC:  DA9063, Device: 0x61, Variant: 0x50, Customer: 0x00, Config: 0x56
Net:   FEC [PRIME]
Hit any key to stop autoboot:  0
=> printenv
android_file=boot.img
arch=arm
baudrate=115200
board=ccimx6sbc
board_name=ccimx6sbc
boot_fdt=try
bootargs_android="androidboot.hardware=freescale mem=1024M fbmem=28M vmalloc=400M"
bootargs_mmc_android=setenv bootargs console=${console},${baudrate} ${bootargs_android} androidboot.mmcdev=${mmcbootdev} androidboot.}
bootargs_mmc_linux=setenv bootargs console=${console},${baudrate} ${bootargs_linux} root=${mmcroot} rootwait rw ${bootargs_once} ${ex}
bootargs_nfs_android=run bootargs_tftp_android
bootargs_nfs_linux=run bootargs_tftp_linux
bootargs_tftp=if test ${ip_dyn} = yes; then bootargs_ip="ip=dhcp";else bootargs_ip="ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:;
bootargs_tftp_android=run bootargs_tftp;setenv bootargs console=${console},${baudrate} ${bootargs_android} root=/dev/nfs androidboot.}
bootargs_tftp_linux=run bootargs_tftp;setenv bootargs console=${console},${baudrate} ${bootargs_linux} root=/dev/nfs ${bootargs_ip} n}
bootcmd=if run loadscript; then source ${loadaddr};else dboot android mmc ${mmcbootdev}:${mmcpart}; fi;
bootdelay=10
btaddr=00:04:f3:ff:ff:fc
console=ttymxc3
cpu=armv7
ethact=FEC
ethaddr=00:04:f3:ff:ff:fa
ethprime=FEC
fdt_addr=0x18000000
fdt_file=uImage-imx6q-ccimx6sbc.dtb
fdt_high=0xffffffff
initrd_addr=0x19000000
initrd_file=uramdisk.img
initrd_high=0xffffffff
ip_dyn=yes
ipaddr=192.168.11.135
linux_file=dey-image-graphical-ccimx6sbc.boot.vfat
loadaddr=0x12000000
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadinitrd=fatload mmc ${mmcdev}:${mmcpart} ${initrd_addr} ${initrd_file}
loadscript=fatload mmc ${mmcbootdev}:${mmcpart} ${loadaddr} ${script}
loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}
mmcargs=setenv bootargs console=${console},${baudrate} ${smp} root=/dev/mmcblk0p2 rootwait rw
mmcbootdev=1
mmcbootpart=1
mmcdev=0
mmcpart=1
mmcroot=PARTUUID=1c606ef5-f1ac-43b9-9bb5-d5c578580b6b
module_variant=0x00
netmask=255.255.0.0
part1_uuid=43f1961b-ce4c-4e6c-8f22-2230c5d532bd
part2_uuid=f241b915-4241-47fd-b4de-ab5af832a0f6
part3_uuid=1c606ef5-f1ac-43b9-9bb5-d5c578580b6b
part4_uuid=c7d8648b-76f7-4e2b-b829-e95a83cc7b32
part5_uuid=ebae5694-6e56-497c-83c6-c4455e12d727
part6_uuid=3845c9fc-e581-49f3-999f-86c9bab515ef
part7_uuid=3fcf7bf1-b6fe-419d-9a14-f87950727bc0
part8_uuid=12c08a28-fb40-430a-a5bc-7b4f015b0b3c
part9_uuid=dc83dea8-c467-45dc-84eb-5e913daec17e
partition_mmc_android=mmc rescan;if mmc dev ${mmcdev} 0; then gpt write mmc ${mmcdev} ${parts_android};mmc rescan;else if mmc dev ${m;
partition_mmc_linux=mmc rescan;if mmc dev ${mmcdev} 0; then gpt write mmc ${mmcdev} ${parts_linux};mmc rescan;else if mmc dev ${mmcde;
parts_android="uuid_disk=${uuid_disk};start=2MiB,name=android,size=64MiB,uuid=${part1_uuid};name=android2,size=64MiB,uuid=${part2_uui"
parts_linux="uuid_disk=${uuid_disk};start=2MiB,name=linux,size=64MiB,uuid=${part1_uuid};name=linux2,size=64MiB,uuid=${part2_uuid};nam"
phy_mode=auto
recoverycmd=setenv -f bootargs_once "androidboot.data=format androidboot.cache=format"
rootfs_file=dey-image-graphical-ccimx6sbc.ext4
rootpath=/exports/nfsroot-ccimx6sbc
script=boot.scr
serverip=192.168.11.130
soc=mx6
stderr=serial
stdin=serial
stdout=serial
system_file=system.img
uboot_file=u-boot-ccimx6sbc.imx
uimage=uImage-ccimx6sbc.bin
uuid_disk=075e2a9b-6af6-448c-a52a-3a6e69f0afff
vendor=digi
video_args=video=mxcfb0:dev=ldb,LDB-HSD101PFW2,if=RGB666
wlanaddr=00:04:f3:ff:ff:fb
Hello, I could do It. I booted from the USB, update the boot, and did dboot linux mmc. From the Linux I change the bootdelay with fw_setenv bootdelay and then reseted the connectore and stopped again, and then I did update to the kernel and rootf.
Thanks for your time
Regards
...