Milk-V Jupiter and PCIe Expansion ROM

Hey I’m looking at grabbing a Jupiter to run my home server which does just basic file sharing and a couple other simple things. However, from what I can tell the Jupiter doesn’t use UEFI and I have a SAS controller that initializes with its UEFI Expansion ROM, I’m guessing there’s really no way to use it on the Jupiter?

2 Likes

Probably a silly question but does this UEFI Expansion ROM (Legacy Option ROM image) contain a “RISCV32 UEFI driver” or a “RISCV64 UEFI driver” ?

That might be a safer starting point, than to find out later on that your SAS controller only supports IA32/x64/Itanium Processor Family.

2 Likes

I’m sure it doesn’t have any RISC-V specific stuff, it predates any physical RISC-V hardware lol. But AFAIK UEFI Expansion ROMs are usually in EFI Bytecode no?

1 Like

The Jupiter doesn’t have EFI firmware, so it can’t load EFI expansion ROMs from devices. It is only able to boot from devices which U-Boot has native drivers for.

But this only affects boot! If you boot from a supported device - e.g. NVMe, SD, eMMC - then your SAS controller should work fine after it gets initialized by the Linux kernel.

You will probably need to build your own kernel to add the SAS controller driver module.

2 Likes

Hi there, apologies for the necro.
So, I’m trying to do something kinda silly, I’m trying to stick an NVidia GPU on the Jupiter. I’m aware of the 4GB VRAM limitation, and have already found a newer card that fits in those parameters, the venerable 1050Ti. However, the 1050Ti has an OptionROM, which means it will only be usable if you can mange to get it to boot properly.

There is this lovely talk by Alexander Graf from 2017 on building QEMU into UEFI by way of an extension to EDK2, which is currently available on his collaborator’s Github. Earlier that same year he did a talk on uBoot, UEFI, and GRUB, meaning that despite his discussion being regarding AArch64, it still has some application here.

Given this available documentation and experience, along with the Milk-V Jupiter’s open source u-Boot and OpenSBI implementations, do you think it is possible for someone to develop an x86 emulator for early-stage uBoot or UEFI-on-uBoot to support devices with OptionROMs?

1 Like