[ Alpha experimental phase ]
This section is about installing a nand image that contains:
U-Boot that scans emmc/nvme/nand for (/boot)/extlinux/extlinux.conf and boots it. The partition that contains this file needs to have the boot flag set.
If it fails on emmc and nvme, it boots the linux initramdisk on nand. It contains all basic utilities needed to setup an internet connection and install any distro.
There are some basic utilities on the initrd, but perhaps it is still missing some tools and/or kernel modules. It contains my bpi router scripts bpir-build bpir-toolbox, but also: debootstrap wget curl nano parted mkfs-btrfs tar xz gzip zstd, etc, etc.
Note: All images (sdmms/emmc/nvme/uart) all have the same initramdisk. You can interrupt normal boot by keeping ‘x’ pressed during early linux booting. You will then enter a bash shell from initramdisk.
Setup my archlinuxarm image on sd-card, via my script or prebuild image. Another possibility is to use my uartboot image.
After booting from uartboot, first make internet connection with:
bpir-dhcpc <interfacename>
bpir-toolbox needs to download some files needed to build the image.
When running archlinuxarm from sd-card or the initrd from uartboot on the BPI-R3/R3M/R4, you can:
bpir-toolbox --nand-format
This will format and install the image.
I need to add more documentation about ‘bpir-toolbox’, but you can look into the file to see which options to use.
‘bpir-build’ to install archlinuxarm (or experimental ubuntu) on nvme is added pretty recently also, so also needs documentation and testing. Basically the steps are:
‘bpir-build -F’ and go through the menu.
But of course you can just manually use parted and debootstrap to install any other distro. Add extlinux.conf and set the bootflag. You will need to find a suitable linux kernel then also.
If you have used bpir-build to build the nvme/emmc rootfs, you can also use the same tool when running from the initramdisk to enter it via chroot. Just run the command without arguments.
This all needs more testing…
Note: Use archlinuxarm (not ubuntu) for now to build the initramdisk image. There is still a small issue in ubuntu, which is missing the bpi-r3m airoha firmware files in the standard linux-firmware package.