Based on other boards that use MicroSD cards for the OS, sometimes you have to be careful to select a good quality card. At times, some MicroSD cards work fine for casual use. But, an OS that gets monthly package updates and is used for actual user logins, some SD cards won’t last as long.
It’s probably too late for the current BeagleV board, but I would suggest a eMMC slot / socket, similar to what Pine64 uses. That allows the user to skip the eMMC if they are happy with a MicroSD card. Plus, a motivated user can get 128GBs easily and 256GBs if they try harder. Of course, eMMCs are expensive, but are intended to last much longer than SD cards. (It also helps that eMMCs can be noticeably faster than SD cards too.)
On the other side, if it’s easier / cheaper to have a single SATA port instead of a eMMC port, that would work too. While SATA DOMs are not cheap, they are an option. Plus, if the socket is powered for SATA DOMs, it’s pretty simple to plug one in. Though, a board supplied 5volt power jack should also be supplied, (if supporting SATA DOMs).
And if the user does not want a SATA DOM, they can use a plain SATA disk or SSD.
Basically something more reliable for storage than a MicroSD card. (I do not consider most USB flash drives as reliable… they tend to be as reliable as MicroSD cards, as in not reliable.)
The beta BeagleV board with the StarFive 7100 SoC will only have MicroSD and USB 3.0 for storage. We are using u-boot so booting from USB should eventually be possible.
However, once the StarFive 7110 SoC is ready, we should be able to add PCIe to the BeagleV. How would you like that exposed? We have not decided yet but are considering either M.2 slot or open-ended PCIe connector.
It’s tricky about PCIe connectors. It depends on the number of lanes available, and if they can be bifurcated. Plus, a little depends on the speed of the lanes.
For example, the Rockchip RK3399 used in some of the Pine64 projects has 4 PCIe lanes at version 2 speed. They can’t be bifurcated, so they are all to one device.
Quite suitable for a NVMe, video card or storage card. But, only 1 card at a time.
Ideally, we would have bifurcation options like so;
4 x PCIe lanes, at least version 2, but would prefer version 3
Bifurcation options - 4, 2/2, 2/1/1
Their are now several M.2 NVMe drives that are 2242 sized. So, assigning 2 lanes to a M.2 B+M key short slot, and 2 to a regular PCIe slot, (4 x physical, open ended), would be a good solution.
If someone prefers all the PCIe lanes to go to one connector or another, that should be supported.
With bifurcation 2/1/1, 2 lanes can go to the regular PCIe slot, 1 to the M.2 short slot and 1 lane to a header for those who wish to experiment, or use a high speed daughter board.
This all depends on what StarFive designs into the 7110 SoC. I tried to find further information, but other that it being a quad RISC-V core, nothing else was found.
Definitely being able to plug a cheap Radeon 6000 series card via a open-ended PCIe connector would be attractive. Booting from ssd or usb would be enough for me. Having no binary blob for gpu drivers is a big advantage.
Sorry I meant sd (as in micro sd) not ssd
PCIe would be very helpful in my use case as I would like to build a cluster of BeagleV systems with OpenMPI and OpenCog. As the backhaul between units I would like to use 10Gbe while using the 10/100/1000 for system updates / software maintenance. I think that an nvme slot would be a right move also perhaps a SoM is in order.
With a open ended PCIe connector people could test larger PCIe devices like GPUs and NICs but i think more people are just interested in using a M.2 for storage, and for people who want to test GPUs and other stuff, there are already M.2 to PCIe 16x (physical connector that is) adapter out there.
So I say M.2 is the better choice.