How to disable HDMI check? script.bin missing

I was planning to use my bpi ultra headless, but it seems it can’t complete the boot without an HDMI monitor connected. I’m using a Debian image.

Changing bananapi/bpi-m2u/linux/1080p/uEnv.txt in /dev/mmcblk0p1

from

abootargs=setenv bootargs board=${board} console=${console} root=${root} service=${service} bpiuser=${bpiuser} mac_addr=${mac_addr} ${bootopts} disp.screen0_output_type=${otype} disp.screen0_output_mode=${omode} disp.screen1_output_type=${otype} disp.screen1_output_mode=${omode}

to

abootargs=setenv bootargs board=${board} console=${console} root=${root} service=${service} bpiuser=${bpiuser} mac_addr=${mac_addr}

Didn’t solve the problem.

I’d like to follow this

I think I don’t need to compile from source since bin2fex is already in sunxi-tools package.

Anyway I can’t find a script.bin in /boot/bananapi/ actually /boot contains just .verbose

How am I supposed to ignore if the hdmi is plugged?

thx

Rather try to use:

https://docs.armbian.com/#what-is-armbian

https://www.armbian.com/bananapi-m2u/

Thanks for giving me a reason to re-evaluate Armbian.

First things first: Is switching to armbian going to solve my problem?

I really need very few “features” other than a headless board:

  • be able to install openocd
  • be able to control SPI (possibly via python but C is OK)

I picked up banana pi exactly to use as much as possible a stock Debian. Mainly because it’s the distro I use everyday, it is a big player and I don’t have to worry that much it will disappear and installation process is as standard as possible.

I’ve to admit I probably didn’t even follow the most debianish way to make my M2U running, since I followed

http://wiki.banana-pi.org/Getting_Started_with_M2_Ultra_%26_Berry#Load_your_first_image_on_M2U

rather than

https://wiki.debian.org/InstallingDebianOn/Allwinner

but I’ve found debian repositories in my source.list and if I didn’t stumble in this problem I’d be happy enough.

I really do appreciate the armbian documentation though.

thanks

How could I know that?

No idea what that is.

Probably, but A40 chip is different enough from the rest of the Allwinner family that SPI could somehow be broken. I never tested it, but probably it works. Certainly its not as easy as with others: armbian-config - > system -> hardware “enable this and that”, but you will need to fiddle with device tree configuration. Similar way as with this proprietary “Debian” fex2bin / bin2fex way.

There is not much relationship between Debian and private “Debian” from board vendor you are trying to use and “standards” you are seeing are from Allwinner and will never be adopted to Debian. On the other side, Armbian has standards across all boards. Which is extremely difficult to achieve due to extreme hardware diversity, absence of any standards and very little support.

Armbian is official Debian derivative which provides Debian (or Ubuntu if you prefer) without the need to break your teeth trying bringing it up. Plus it has many advances on the hardware support side that might never reach Debian or anything else.

The easy and not very important part - applications and scripts - which probably plays no role in the problem you / people have - are coming from Debian. The same way as at Armbian.

Armbian provides a tool to create your own kernel, image or a whole distribution from sources:

Finally I got the BPI image working without HDMI cable plugged in. Possibly some problem with power supply.

Unfortunately current armbian image can’t start the kernel. I’ve tried with a suggested microsd (sandisk extreme pro) and a cheap Kensington (the one that works for BPI image).

What I get is this over and over…

U-Boot SPL 2021.04-armbian (May 06 2021 - 16:44:35 +0000) DRAM: 2048 MiB Trying to boot from MMC1
U-Boot 2021.04-armbian (May 06 2021 - 16:44:35 +0000) Allwinner Technology

CPU:   Allwinner R40 (SUN8I 1701)
Model: Banana Pi BPI-M2-Ultra
I2C:   ready
DRAM:  2 GiB
MMC:   mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Loading Environment from FAT... OK
In:    serial@1c28000
Out:   serial@1c28000
Err:   serial@1c28000
Net:   phy interface7
eth0: ethernet@1c50000
starting USB...
Bus usb@1c19000: ehci_generic usb@1c19000: failed to get usb phy
Port not available.
Bus usb@1c19400: ohci_generic usb@1c19400: failed to get usb phy
Port not available.
Bus usb@1c1c000: ehci_generic usb@1c1c000: failed to get usb phy
Port not available.
Bus usb@1c1c400: ohci_generic usb@1c1c400: failed to get usb phy
Port not available.
Autoboot in 2 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3967 bytes read in 2 ms (1.9 MiB/s)
## Executing script at 43100000
U-boot loaded from SD
Boot script loaded from mmc
154 bytes read in 2 ms (75.2 KiB/s)
9931681 bytes read in 493 ms (19.2 MiB/s)
7973464 bytes read in 395 ms (19.2 MiB/s)
Found mainline kernel configuration
34090 bytes read in 5 ms (6.5 MiB/s)
Failed to load '/boot/dtb/overlay/sun8i-r40-fixup.scr'
## Loading init Ramdisk from Legacy Image at 43300000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    9931617 Bytes = 9.5 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Loading Ramdisk to 49687000, end 49fffb61 ... OK
   Loading Device Tree to 49616000, end 49686fff ... OK

Starting kernel …

-Boot SPL 2021.04-armbian (May 06 2021 - 16:44:35 +0000) DRAM: 2048 MiB Trying to boot from MMC1

U-Boot 2021.04-armbian (May 06 2021 - 16:44:35 +0000) Allwinner Technology

BPI images boot but I can’t see the spi port and is a bit of a pain to update u-boot/kernel with their tools.

thanks