Here is my solution.
I created a sdcard with u-boot firmware according to the instructions on this webpage:
https://docs.u-boot.org/en/latest/board/starfive/visionfive2.html
I noticed these instructions will use OpenSBI v1.4. The Starfive firmware is still using OpenSBI v1.2.
Flip the boot selector switch on the board ==> to select boot from sdcard.
Insert the sdcard created from that u-boot website.
Boot the system. It will boot without starting any operating system.
U-Boot 2024.07-rc1 (Apr 26 2024 - 10:32:34 +0300)
OpenSBI v1.4
Swap the sdcard with the Armbian sdcard.
Enter these commands:
mmc list
mmc dev 1
load mmc 1:1 ${fdt_addr_r} /boot/dtb/starfive/jh7110-visionfive-v2.dtb
load mmc 1:1 ${kernel_addr_r} /boot/vmlinuz-5.15.0-edge-starfive2
load mmc 1:1 ${ramdisk_addr_r} /boot/initrd.img-5.15.0-edge-starfive2
setenv bootargs 'root=/dev/mmcblk1p1 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0'
setenv kernel_comp_addr_r 0x5a000000
setenv kernel_comp_size 0x04000000
booti $kernel_addr_r $ramdisk_addr_r:$filesize $fdt_addr_r
This will boot Armbian and recognize the 8GB RAM.
I also found there is a problem recognizing the UUID of the sdcard or nvme during operating system boot.
For sdcard boot I needed to edit the /etc/fstab -- switch the UUID to the device name
sdcard example:
# cat /etc/fstab
/dev/mmcblk1p1 / ext4 defaults,noatime,commit=600,errors=remount-ro 0 1
tmpfs /tmp tmpfs defaults,nosuid 0 0
These instructions also worked with Ubuntu 24.04. I saw the same memory problem as with Armbian.