I did enquire on the Forum about this early this year, but got no response and bananapi.org as well as sunxi.org web sites had no workable solution. Lemaker have since put information on their wiki, describing how to use a partition on SATA as root file system, whilst retaining /boot on SD.
Lemakers’ procedure for copying the root file system to sda might suit for an IPFire system that had many options and configureation changes, but I had a fresh installation and elected to follow a procedure analogous to that Arne put on the wiki for NanoPi.
From a core 138 system running from SD on BananaPi:
xzcat ipfire-2.23.2gb-ext4.armv5tel-full-coreXXX.img.xz > /dev/sda
dd if=/usr/share/u-boot/banana_pi/u-boot-sunxi-with-spl.bin of=/dev/sda bs=1K seek=8
Then edit /boot/uEnv.txt (on the SD card) and make the following changes
UUID for root_dev to that for /dev/sda3 (use blkid to obtain)
and set SERIAL-CONSOLE to OFF if you want to use HDMI/KEYBOARD instead of serial console.
Then mount /dev/sda3 to /mnt and edit /mnt/etc/fstab
UUID for /boot to that for mmcblk0p1 (on the SD card)
Unmount /mnt and reboot, to set up a fresh IPFire.
The procedure is necessarily more complicated than for NanoPi, because BananaPi can apparently boot from SD or USB, but not from SATA. Consequently, UUID need to be adjusted for a system that uses paritions on two devices. A single USB-SATA device is a possibility that I have not revisited.