Installing OS directly on Rock 5 without PC?

Tired of unplugging my rock 5b and the NVME SSD / SD card, plug it into a USB adapter, and flash it with a computer.

Raspberry Pi has a rpi-imager built-in with its bootloader so you can install OS (flash image) directly on the Pi without a computer.

Khadas also has oowow that allows you to install OS directly on their board or flash from a USB Drive.

Anything for our Radxa Rock 5 boards?

Does Radxa have any plans for that?

If not, can we build something similar for the rock 5? Any suggestions on software/OS to use that is small and quick enough to pack into the on-board SPI?

rpi-imager and other similar tools are, in fact, overglorified dd.
If you want a tool like that on Rock 5, you can, for example, do “sudo apt install balena-etcher-electron”.

1 Like

yeah but you dont have this built-in on the Rock 5 itself (bootloader).

For example pack an initramfs image in u-boot that you can boot that image from ram disk when there is no boot device available?

What you’re probably looking for is the EDK2 UEFI + live ISO.

@GinKage @nyanmisaka oowow is not just this. You can download and copy an image straight to an SD card by just booting an SBC with an empty drive. It is dd but saves you the time of trying to look for an operating system on a big brother computer.

1 Like

Yeah, same thing for the raspberry pi 4 and 5 bootloader (eeprom), oowow has more features, while raspberry pi’s way is more like packed the rpi_imager into the bootloader itself.

I think I can try starting based on an existing Debian image flashed on sd card with balena-etcher or rpi-imager installed (ideally have a repo that fetch all the available images for the rock 5) and launched automatically at boot, but the problem is that, you will still need to boot to an sd card, and you can’t flash to an sd card as this method would occupy the sd card slot.

what I am thinking is whether we can pack something similar into an image that is small enough to be stored on the SPI that stores u-boot itself (which it boot that tiny image into ram disk), this way we can probably get a GUI interface with usb and internet access that allows us to flash images to your sd card / eMMC or nvme ssd from the web without a computer.

Well I see. That’s probably why khadas’s boards have an extra premium, they wrote their own SPI flash firmware and allow users to install the system from the network. https://docs.khadas.com/software/oowow/getting-started

However this does not come without a cost, access via the network at such low level embedded firmware means that the WLAN chip must be a fixed onboard model such as the AP6275P rather than any card such as the Intel AX210, and the LAN must be a 1GbE GMAC from the RK3588 rather than 2.5GbE via PCIe , otherwise you have no usable driver.

But the question is can you accept a Rock 5 with such downgraded specs and pay Radxa more to develop such firmware. https://dl.khadas.com/firmware/oowow/system/

@nyanmisaka
The RTL8125 PCIe LAN works on the edk2 UEFI bootloader, and I think Collabora’s u-boot has that as well.

For WiFi, same idea, but due to having multiple different model WiFi card supported by Radxa, I am not sure whether it will be feasible to get them all packed in a u-boot. But radxa only need to include WiFi drivers for those they sell (A1,A2,A3,A6S, and A8) for that board or those from radxa-pkg/radxa-firmware.

Btw, khadas’s oowow may actually be more than what we need, you may want to take a look at raspberry pi’s solution at https://www.raspberrypi.com/documentation/computers/getting-started.html#install-over-the-network

Raspberry Pi packed their rpi-imager into their bootloader, and as the documentation mentioned, it only support a wired network connection (even though raspberry pi 4 has an onboard WiFi).

Notes: rpi-imager is based on balena-etcher and both raspberry pi’s eeprom and rpi-imager are open source.

Etcher is incredibly bloated, I am at a loss about what they put there to make it 100s times larger than dd. Let’s not go this way.

I think it is feasible for someone who knows programming (not me) and has a bit of time.

I have created a repository for all the rock-5 images for rpi-imager.

I have also customized the rpi-imager for Radxa at https://github.com/rock5-images-repo/radxa-imager