PICO-PI-IMX7 boot loop

Using Lenovo Laptop running Ubuntu 20.04.

I am trying to load ubuntu onto the PICO -PI-IMX7 using the process:

When I finish and reset I get the below (looks like /etc is not writeable??):

U-Boot SPL 2021.04 (Dec 17 2021 - 15:53:24 -0500)
Trying to boot from MMC1


U-Boot 2021.04 (Dec 17 2021 - 15:53:24 -0500)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 41C
Reset cause: POR
Model: TechNexion PICO-IMX7D Board and PI baseboard
Board: i.MX7D PICOSOM
I2C:   ready
DRAM:  512 MiB
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 2, FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  0
Saving Environment to MMC... Writing to MMC(0)... OK
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
194 bytes read in 1 ms (189.5 KiB/s)
1:      Linux 5.10.83-armv7-lpae-x58
Retrieving file: /boot/vmlinuz-5.10.83-armv7-lpae-x58
11629056 bytes read in 259 ms (42.8 MiB/s)
append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
Retrieving file: /boot/dtbs/5.10.83-armv7-lpae-x58/imx7d-pico-pi.dtb
49000 bytes read in 6 ms (7.8 MiB/s)
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300ef67

Starting kernel ...

[    0.093813] debugfs: Directory 'dummy-iomuxc-gpr@30340000' with parent 'regmap' already present!
[    1.727681] debugfs: Directory 'dummy-reset-controller@30390000' with parent 'regmap' already present!
[    1.851552] CPUidle arm: CPU 0 failed to init idle CPU ops
[    2.753436] systemd[1]: System cannot boot: Missing /etc/machine-id and /etc is mounted read-only.
[    2.762794] systemd[1]: Booting up is supported only when:
[    2.768367] systemd[1]: 1) /etc/machine-id exists and is populated.
[    2.774706] systemd[1]: 2) /etc/machine-id exists and is empty.
[    2.780688] systemd[1]: 3) /etc/machine-id is missing and /etc is writable.
▒
-Boot SPL 2021.04 (Dec 17 2021 - 15:53:24 -0500)
Trying to boot from MMC1

It keep cycling in this loop.

Hi @pcarff , that is very strange, i wonder what is causing the reset… As written i’m seeing this:

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

U-Boot SPL 2021.04 (Dec 20 2021 - 15:07:13 -0600)
Trying to boot from MMC1


U-Boot 2021.04 (Dec 20 2021 - 15:07:13 -0600)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 49C
Reset cause: WDOG1
Model: TechNexion PICO-IMX7D Board and PI baseboard
Board: i.MX7D PICOSOM
I2C:   ready
DRAM:  512 MiB
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 2, FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  0 
Saving Environment to MMC... Writing to MMC(0)... OK
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
194 bytes read in 2 ms (94.7 KiB/s)
1:	Linux 5.10.83-armv7-lpae-x58
Retrieving file: /boot/vmlinuz-5.10.83-armv7-lpae-x58
11629056 bytes read in 259 ms (42.8 MiB/s)
append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
Retrieving file: /boot/dtbs/5.10.83-armv7-lpae-x58/imx7d-pico-pi.dtb
49000 bytes read in 6 ms (7.8 MiB/s)
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300ef67

Starting kernel ...

[    0.093733] debugfs: Directory 'dummy-iomuxc-gpr@30340000' with parent 'regmap' already present!
[    1.731865] debugfs: Directory 'dummy-reset-controller@30390000' with parent 'regmap' already present!
[    1.854703] CPUidle arm: CPU 0 failed to init idle CPU ops
[    2.695908] systemd[1]: System cannot boot: Missing /etc/machine-id and /etc is mounted read-only.
[    2.705133] systemd[1]: Booting up is supported only when:
[    2.710738] systemd[1]: 1) /etc/machine-id exists and is populated.
[    2.717086] systemd[1]: 2) /etc/machine-id exists and is empty.
[    2.723066] systemd[1]: 3) /etc/machine-id is missing and /etc is writable.

Debian GNU/Linux 10 arm ttymxc4

default username:password is [debian:temppwd]

arm login: [   32.924240] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
debian
Password: 

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
debian@arm:~$ uname -r
5.10.83-armv7-lpae-x58
debian@arm:~$ sudo ifconfig -a

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for debian: 
can0: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 60  

can1: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 61  

eth0: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC>  mtu 1500
        ether 00:1f:7b:86:60:19  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 88  bytes 6988 (6.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 88  bytes 6988 (6.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

debian@arm:~$ 

Edit, just updated the guide, to u-boot 2021.10, Kernel v5.15.x, and Debian 11.x… Everything still works…

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

U-Boot SPL 2021.10 (Dec 20 2021 - 15:37:22 -0600)
Trying to boot from MMC1


U-Boot 2021.10 (Dec 20 2021 - 15:37:22 -0600)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 51C
Reset cause: WDOG1
Model: TechNexion PICO-IMX7D Board and PI baseboard
Board: i.MX7D PICOSOM
I2C:   ready
DRAM:  512 MiB
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 3, FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  0 
Saving Environment to MMC... Writing to MMC(0)... OK
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
194 bytes read in 3 ms (62.5 KiB/s)
1:	Linux 5.15.10-armv7-lpae-x15
Retrieving file: /boot/vmlinuz-5.15.10-armv7-lpae-x15
12116480 bytes read in 270 ms (42.8 MiB/s)
append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
Retrieving file: /boot/dtbs/5.15.10-armv7-lpae-x15/imx7d-pico-pi.dtb
49781 bytes read in 6 ms (7.9 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0xb8e200 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300f274

Starting kernel ...

[    0.071618] debugfs: Directory 'dummy-iomuxc-gpr@30340000' with parent 'regmap' already present!
[    1.733232] debugfs: Directory 'dummy-reset-controller@30390000' with parent 'regmap' already present!
[    1.854932] CPUidle arm: CPU 0 failed to init idle CPU ops

Debian GNU/Linux 11 arm ttymxc4

default username:password is [debian:temppwd]

arm login: debian
Password: 

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
debian@arm:~$ lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk2      179:0    0  3.6G  0 disk 
└─mmcblk2p1  179:1    0  3.6G  0 part /
mmcblk2boot0 179:256  0    2M  1 disk 
mmcblk2boot1 179:512  0    2M  1 disk 
debian@arm:~$ uname -r
5.15.10-armv7-lpae-x15
debian@arm:~$ sudo ifconfig -a

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for debian: 
can0: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 60  

can1: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 61  

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:1f:7b:86:60:19  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 15  bytes 1805 (1.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15  bytes 1805 (1.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 8a:2f:a5:89:07:ed  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

debian@arm:~$

Regards,