Invalid partition message during boot

I built Linux RT for a custom board based upon Beagleboard xM exactly as in Robert C. Nelson’s page https://eewiki.net/display/linuxonarm/BeagleBoard.

Here is what I get during boot, tried on a real Beagleboard xM and get the same behavior. The booting stops at a u-boot prompt.

U-Boot SPL 2017.03-rc1-dirty (Feb 04 2017 - 12:10:18)
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
reading u-boot.img
reading u-boot.img

U-Boot 2017.03-rc1-dirty (Feb 04 2017 - 12:10:18 -0700)

OMAP3630/3730-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 1 GHz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

Beagle xM Rev C
No EEPROM on expansion board
No EEPROM on expansion board
OMAP die ID: 101000229ff80000016830c319017022
Net: usb_ether
Error: usb_ether address not set.

Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
Checking for: /uEnv.txt …
Checking for: /boot/uEnv.txt …
26 bytes read in 7 ms (2.9 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt…
Running uname_boot …
** Invalid partition 3 **
** Invalid partition 4 **
** Invalid partition 5 **
** Invalid partition 6 **
** Invalid partition 7 **
=>

Please share your "/boot/uEnv.txt"

Regards,

Got around that problem. My uEnv.txt file was wrong.

Boots ok on Beagleboard xM, but hangs on our custom board.

U-Boot SPL 2017.03-rc1-dirty (Feb 04 2017 - 12:10:18)
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
reading u-boot.img
reading u-boot.img

U-Boot 2017.03-rc1-dirty (Feb 04 2017 - 12:10:18 -0700)

OMAP3630/3730-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 1 GHz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 256 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

Beagle Rev Ax/Bx
No EEPROM on expansion board
No EEPROM on expansion board
OMAP die ID: 715e00029ff800000156083e0501c01d
Net: usb_ether
Error: usb_ether address not set.

Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
Checking for: /uEnv.txt …
Checking for: /boot/uEnv.txt …
26 bytes read in 7 ms (2.9 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt…
Running uname_boot …
loading /boot/vmlinuz-4.9.7-armv7-rt-x4 …
6435000 bytes read in 499 ms (12.3 MiB/s)
loading /boot/dtbs/4.9.7-armv7-rt-x4/omap3-beagle.dtb …
98676 bytes read in 210 ms (458 KiB/s)
debug: [console=ttyO2,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait musb_hdrc.fifo_mode=5] …
debug: [bootz 0x82000000 - 0x88000000] …

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Device Tree to 8ffe4000, end 8ffff173 … OK
fdt_find_or_add_subnode: memory: FDT_ERR_BADSTRUCTURE
ERROR: arch-specific fdt fixup failed

  • must RESET the board to recover.

FDT creation failed! hanging…### ERROR ### Please RESET the board ###

Why is your board going down the Beagle classic route?

Take a look at the gpio's used for id on the xM C, you messed those up
when you built your custom board..

Regards,

Robert,

My u-boot mod somehow got wiped. Put it back in and recompiled. I’m still having a problem with the device tree (which I don’t know enough about):

U-Boot 2017.03-rc1-dirty (Feb 08 2017 - 15:00:15 -0700)

OMAP3630/3730-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 1 GHz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 256 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

Beagle xM Rev C
No EEPROM on expansion board
No EEPROM on expansion board
OMAP die ID: 715e00029ff800000156083e0501c01d
Net: usb_ether
Error: usb_ether address not set.

Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
Checking for: /uEnv.txt …
Checking for: /boot/uEnv.txt …
53 bytes read in 7 ms (6.8 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt…
Running uname_boot …
loading /boot/vmlinuz-4.9.7-armv7-rt-x4 …
6435000 bytes read in 499 ms (12.3 MiB/s)
loading /boot/dtbs/4.9.7-armv7-rt-x4/omap3-beagle-xm.dtb …
100032 bytes read in 233 ms (418.9 KiB/s)
debug: [console=ttyO2,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait] …
debug: [bootz 0x82000000 - 0x88000000] …

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Device Tree to 8ffe4000, end 8ffff6bf … OK
fdt_find_or_add_subnode: memory: FDT_ERR_BADSTRUCTURE
ERROR: arch-specific fdt fixup failed

  • must RESET the board to recover.

FDT creation failed! hanging…### ERROR ### Please RESET the board ###

Please let us know what changes you made to your uEnv.txt file. I’m seeing the same symptom as above:

** Invalid partition 2 **
** Invalid partition 3 **
** Invalid partition 4 **
** Invalid partition 5 **
** Invalid partition 6 **
** Invalid partition 7 **

Sorry Jim, forgot how I fixed this.

For posterity, I’m past this “** Invalid partition 2** …” issue, though I’m not exactly sure how. I was using “make O=… install” instead of “make O=… zinstall”; also, I did another build on the kernel (“make O=…”).