Fail to boot armbian images after spi bootloader upgrade

Hi,
I tried to boot my Rockpi4B 4G 1.4 from nvme applying the procedure as in https://wiki.radxa.com/Rockpi4/Linux_system_runs_on_M.2_NVME_SSD

since then I am not able to boot other images from the uSD (like armbian)

I flash the images into the sd card with etcher, insert the uSD (and remove all other storage) and boot the board, but nothing happens (screen is off, blue led is off, green led is fixed on).

if i burn a radxa debian desktop image it works again.

Do i have to revert this spu bootloader somehow to use other images again? how?

Thanks

1 Like

If the SPI flash already contains a bootable bootloader, you need to disable the SPI flash at boot time by shortcut the SPI1_CLK to GND. Use wire to connect PIN 23 and 25 . Checkout the Pinout.

Check the picture on:

https://wiki.radxa.com/Rockpi4/dev/spi-install

Thanks jack,
I will try that. (altho it wont be possible to use it in my use case as i need to use the poe hat)
do I need to do this whenever i want to boot any other distro (like armbian)?

why is this happening? how does the spi boot loader select the boot partition from the media? by offset, partition name?

Is that possible that I can use spi bootloader to boot other standard images (like armbian), by flashing them with a similar offset of 32768 bytes?

This is likely that you write an old u-boot-spi image to the SPI, which only support GPT partitions. The Armbian images uses mbr partition. We have added the both mbr and gpt support in the latest u-boot-spi image.

https://dl.radxa.com/rockpi4/images/loader/spi/uboot-trust-spi-20190816_1128.img

The rockpi4b-rk-u-boot-latest package already contains that.

You can hook up a serial console to get the detail of what happened during the boot.

https://wiki.radxa.com/Rockpi4/dev/serial-console

1 Like

I see,
But I wrote to the spi with /usr/local/sbin/rockpi4b_upgrade_bootloader.sh, after updating apt and the rockpi4b-rk-u-boot-latest package, just like described in https://wiki.radxa.com/Rockpi4/Linux_system_runs_on_M.2_NVME_SSD method 2.
How can it be the old one? i

So in theory, if the mvne ssd model is supported by the bootloader, it should be possible to bood standard armbian (mbr) from the nvme?

1 Like

So I successfully booted directly from a HP EX900 250GB NVMe with radxa debian stretch.

I upgraded all debian packages, including kernel and the rockpi4b-rk-u-boot-latest.
I performed writing to the SPI from the package and every seemed to go well.
Still no boot from standard armbian from uSD or nvme (uSD boots ok with SPI off).
How can I be sure that it’s writing the latest version of the bootloader?

I tried to write the SPI from the OTG cable. all went as expected from the procedure, except the writing LBA took less than 1 or 2 seconds.
Still no boot from standard armbian from uSD or nvme (uSD boots ok with SPI off)

I can’t really troubleshoot this with the console. I have a mac and am using a silicon labs CP2102 based bridge (which is rated to 3Mbaud as per the documentation). I can connect via minicom with 1500000 8n1 but I only see garbled text: “???”

I cannot help with the SPI but CP2102 can only do 921600 baud unless you have CP2102N version.
That may be a reason why you see garbled text on console.

2 Likes

ach, that might be a good point

I remember @Jubian had tested that the u-boot in SPI can boot Armbian after we enabled the mbr support in u-boot. I will double confirm that on Monday.

If you want boot Armbian with u-boot in SPI, you must open DOS partition support on menuconfig and update it,because of the old u-boot support GTP partition only.

The u-boot image on https://dl.radxa.com/rockpi4/images/loader/spi/ supports MBR.

1 Like

how does one do that?

@Stephen has been sent the new spi u-boot image download link, download u-boot, download it and write image to SPI flash, Armbian will boot normal.

Thanks.
But as I wrote above, I already followed that procedure with those exact files.
Altho everything seemed to go well the write LBA took less than 2 seconds, and it still doesnt boot mbr images.
I also tried via the debian package method, with everything going as described, but then no success on booting mbr images
Is there a way to know which image is in my SPI? might it be defective?

1 Like

I can confirm there is some issue with the latest u-boot in SPI booting Armbian. We are looking at this issue now. Please wait for our fix.

Thanks @jack, I’ll be looking forward to that :slight_smile:

@raleonardo Can you try to edit the /boot/armbianEnv.txt after you write the image to nvme? add one line below:

fdtfile=rockchip/rk3399-rock-pi-4.dtb

I think this might be the issue Armbian is not booting. The fdtfile name in u-boot is different from Armbian and mainline.

1 Like

I will try later today.
There seems to be a tweak here for some other family:

armbian build rockchip64.conf

anyway, ist it not strange that my SPI took less than 2 seconds to flash via OTG?

So I tried it, flashed an armbian stretch desktop into a nvme and a uSD, changed the arbianEnv.txt as you said. Doesn’t boot from either.

Could you reproduce this?

@jack again my question: can you reproduce this?
I still can’t have a working SPI in my Rockpi4…