RE: PICO-PI-IMX7 and Siging In/Um?

DFU needs a partition “table” to operate… Let’s create one as a temp, just to get things loaded…

First run on the Pico:

ums 0 mmc 0

Next, on your development machine: (replace DISK with /dev/sdX, look at lsblk and use the new driver that’s the pico…)

sudo dd if=/dev/zero of=${DISK} bs=1M count=10

sudo sfdisk ${DISK} <<-__EOF__
1M,,L,*
__EOF__

sudo mkfs.ext4 -L rootfs ${DISK}1

Now in u-boot kill the “ums 0 mmc 0” and rerun the “dfu 0 mmc 0”…

Regards,

Yes Sir,

Thank you for replying. @RobertCNelson: It worked like a charm.

Seth

P.S. You have been more than patient. I appreciate the support.

@RobertCNelson,

Okay sir, at the end of the instruction set, when you type out reset in the u-boot cli, what should I do w/ u-boot once it resets?

Seth

P.S. I am asking b/c the board disappears from the desktop and I pushed the button before three seconds was over when u-boot booted back in the u-boot cli. Please send guidance.

@silver2row, well if you followed the full directions after calling “reset” it should boot into linux. Please show what u-boot is dumping to the serial console.

Regards,

Sir,

** No partition table - mmc 0 **
switch to partitions #0, OK
mmc0(part 0) is current device
** Unrecognized filesystem type **
starting USB...
USB0:   Port not available.
USB1:   USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: device type unknown
... is now current device
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.1.10 (1565 ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-00-1f-7b-86-a1-b0
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A8010A
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A8010
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A801
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A80
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A8
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-mx7
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
*** ERROR: `serverip' not set
Config file not found
BOOTP broadcast 1
DHCP client bound to address 192.168.1.xx (96 ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET
BOOTP broadcast 1
DHCP client bound to address 192.168.1.xx (182 ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET

Seth

P.S. This is what happens once I try to let u-boot’s reset option go past the three second mark. I will try again. Do I need tftpget and do I need to use /dev/ttyUSB1 instead?

@silver2row

** No partition table - mmc 0 **
switch to partitions #0, OK
mmc0(part 0) is current device
** Unrecognized filesystem type **
starting USB...

This just means you need to go back and run (from U-Boot console):

ums 0 mmc 0

Then on your development desktop, mount the new usb drive that shows up and follow this section of the wiki…

https://www.digikey.com/eewiki/display/linuxonarm/PICO-PI-IMX7#PICO-PI-IMX7-SetupmicroSDcard

Regards,

Sir,

Should I go through that section only or through that section and until the end of the instruction set?

Seth

P.S. I have tried just about everything. I am not questioning you b/c you do not know things about adding boards via CC and u-boot but I want to make sure I get it right this time. This way, if something arose b/c of my actions dedicated to the board configuration, I could post again to get better help.

Hello Sir,

Here is the u-boot dump.

=> reset
resetting …

U-Boot SPL 2019.01-rc3 (Jan 12 2019 - 18:11:15 -0600)
Trying to boot from MMC1

U-Boot 2019.01-rc3 (Jan 12 2019 - 18:11:15 -0600)

CPU: Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU: Commercial temperature grade (0C to 95C) at 36C
Reset cause: POR
Board: i.MX7D PICOSOM
I2C: ready
DRAM: 512 MiB
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC: FSL_SDHC: 0
Loading Environment from MMC… OK
In: serial
Out: serial
Err: serial
Net: FEC0
Hit any key to stop autoboot: 0
Saving Environment to MMC… Writing to MMC(0)… OK
** No partition table - mmc 0 **
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
189 bytes read in 104 ms (1000 Bytes/s)
1: Linux 4.20.1-armv7-lpae-x2.1
Retrieving file: /boot/vmlinuz-4.20.1-armv7-lpae-x2.1
** File not found /boot/vmlinuz-4.20.1-armv7-lpae-x2.1 **
Skipping Linux 4.20.1-armv7-lpae-x2.1 for failure retrieving kernel
SCRIPT FAILED: continuing…
starting USB…
USB0: Port not available.
USB1: USB EHCI 1.00
scanning bus 1 for devices… 1 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found

Device 0: device type unknown
… is now current device
FEC0 Waiting for PHY auto negotiation to complete… TIMEOUT !
Could not initialize PHY FEC0
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11
BOOTP broadcast 12
BOOTP broadcast 13
BOOTP broadcast 14
BOOTP broadcast 15
BOOTP broadcast 16
BOOTP broadcast 17

Retry time exceeded; starting again
missing environment variable: pxeuuid
Retrieving file: /boot/extlinux/pxelinux.cfg/01-00-1f-7b-86-a1-b0
FEC0 Waiting for PHY auto negotiation to complete… TIMEOUT !
Could not initialize PHY FEC0
*** ERROR: serverip' not set Retrieving file: /boot/extlinux/pxelinux.cfg/00000000 FEC0 Waiting for PHY auto negotiation to complete......... TIMEOUT ! Could not initialize PHY FEC0 *** ERROR:serverip’ not set
Retrieving file: /boot/extlinux/pxelinux.cfg/0000000
FEC0 Waiting for PHY auto negotiation to complete… TIMEOUT !
Could not initialize PHY FEC0
*** ERROR: serverip' not set Retrieving file: /boot/extlinux/pxelinux.cfg/000000 FEC0 Waiting for PHY auto negotiation to complete......... TIMEOUT ! Could not initialize PHY FEC0 *** ERROR:serverip’ not set
Retrieving file: /boot/extlinux/pxelinux.cfg/00000
FEC0 Waiting for PHY auto negotiation to complete… TIMEOUT !
Could not initialize PHY FEC0
*** ERROR: serverip' not set Retrieving file: /boot/extlinux/pxelinux.cfg/0000 FEC0 Waiting for PHY auto negotiation to complete......... TIMEOUT ! Could not initialize PHY FEC0 *** ERROR:serverip’ not set
Retrieving file: /boot/extlinux/pxelinux.cfg/000
FEC0 Waiting for PHY auto negotiation to complete… TIMEOUT !
Could not initialize PHY FEC0
*** ERROR: serverip' not set Retrieving file: /boot/extlinux/pxelinux.cfg/00 FEC0 Waiting for PHY auto negotiation to complete......... TIMEOUT ! Could not initialize PHY FEC0 *** ERROR:serverip’ not set
Retrieving file: /boot/extlinux/pxelinux.cfg/0
FEC0 Waiting for PHY auto negotiation to complete… TIMEOUT !
Could not initialize PHY FEC0
*** ERROR: serverip' not set Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm-mx7 FEC0 Waiting for PHY auto negotiation to complete... done *** ERROR:serverip’ not set
Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm
*** ERROR: serverip' not set Retrieving file: /boot/extlinux/pxelinux.cfg/default *** ERROR:serverip’ not set
Config file not found
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.1.xx (1997 ms)
*** ERROR: serverip' not set Cannot autoload with TFTPGET BOOTP broadcast 1 DHCP client bound to address 192.168.1.xx (207 ms) *** ERROR:serverip’ not set
Cannot autoload with TFTPGET

At one point, I was thinking this was going to work w/out the Ethernet cable. I tried to plug in the Ethernet cable and as you can see, the same info. popped up.

Sir, do I need to umount or sync the device at all once I follow the instructions?

I still cannot sign in via ssh, too. Now, I have a rootfs system on my desktop even when my board is not plugged in. Does this make any sense to you?

Seth

@silver2row

Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
189 bytes read in 104 ms (1000 Bytes/s)
1: Linux 4.20.1-armv7-lpae-x2.1
Retrieving file: /boot/vmlinuz-4.20.1-armv7-lpae-x2.1
** File not found /boot/vmlinuz-4.20.1-armv7-lpae-x2.1 **
Skipping Linux 4.20.1-armv7-lpae-x2.1 for failure retrieving kernel
SCRIPT FAILED: continuing…

You are getting closer, it looks like you didn’t correctly copy the kernel image/rootfs… From this section:

https://www.digikey.com/eewiki/display/linuxonarm/PICO-PI-IMX7#PICO-PI-IMX7-CopyKernelImage

Regards,

Sir,

When I am in USB Boot Mode, I receive this complaint: Header Tag is not an IMX imagee)�.

Does this mean anything?

Seth

P.S. I will attempt to try again.

You have no reason to go back to USB Boot Mode, at this point just leave it in eMMC Boot mode running “ums 0 mmc 0” and correctly copy the kernel files…

Regards,

@RobertCNelson,

Sir…Seth here. I am still trying here. Um, The u-boot cli is stuck on:

=> reset
resetting ...

I figured it is b/c of the dfu 0 mmc 0 command in u-boot. I tried to use it and then I went to my dev. desktop to put in the sudo dfu-util -D SPL -a spl command. I was unable to do so again. Now, when I listen to the instructions you gave me for,

    sudo dd if=/dev/zero of=${DISK} bs=1M count=10
    sudo sfdisk /dev/sdb <<-__EOF__
    1M,,L,*
    __EOF__

    sudo mkfs.ext4 -L rootfs /dev/sdb1

I get an error.

Seth

P.S. The error is the same as above, i.e.

torx@forket:~/u-boot$ sudo dfu-util -D SPL -a spl
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
dfu-util: No DFU capable USB device available

@silver2row, What does U-Boot console show?

Regards,

=> ums 0 mmc 0
UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x720000
CTRL+C - Operation aborted
=> reset
resetting ...

Right now, this is what u-boot console shows. While the cmd dfu 0 mmc 0 is typed and after I press enter, nothing.

It just makes me think that I need to use the cmd in the development desktop.

Seth

@silver2row, you only need to use run “dfu 0 mmc 0” once, it’s mostly about updating the ancient default bootloader (while in USB Boot Mode) to mainline U-Boot, so we can boot in eMMC Boot mode with a U-Boot that has a good version of “ums 0 mmc 0”…

At this point you have a good version of U-Boot in the eMMC, just mount the drive with “ums 0 mmc 0” and write the rootfs to the drive.

Regards,

Sir,

I am confused on this section: https://www.digikey.com/eewiki/display/linuxonarm/PICO-PI-IMX7#PICO-PI-IMX7-SetupmicroSDcard.

Where it states this cmd: export DISK=/dev/mmcblk0

Should I use /dev/sdb or /dev/sdb0?

Seth

P.S. I have more questions. I am fooled by that section b/c of errors I am coming across. Just for reference, I have tried under /dev /sdb, /sdb0, and /sdb1. All of which have given me errors.

@silver2row, i re-wrote that section to better explain the two common block names that occur with microSD cards. You need to use “lsblk” and use the base storage device name shown for the DISK variable. In your case you would use “/dev/sdb” as that would be the device… “/dev/sdb0” would be invalid, partitions do not start with “0”…

Regards,

@RobertCNelson:

Sir,

I think this is what I did. I typed in export DISK=/dev/sdb0 as in zero. I also may have, b/c I could not get the instructions to work, used export DISK=/dev/sdb1.

Anyway, now is the time when I cannot get my board booted. I cannot use the dfu 0 mmc 0 cmd in u-boot any longer and I am stuck.

Please send suggestions.

Seth

P.S. If I used sdb0 or sdb1, please let me know if you know of a workaround. Also sir, on the mount and format partitions sections, I have been clumsy to say the least. I used sdb, sdb0, and sdb1.

@silver2row, why did you add a “0” at the end of /dev/sdb? You should have used “export DISK=/dev/sdb”

Start again from the beginning, your eMMC is likely in a corrupted state.

Regards,

Yes Sir,

Should I rm -r and then reinstall everything?

Seth

P.S. B/c if that is the issue I have made myself come into, I cannot use dfu 0 mmc 0 still. Is there any workaround?