7 ms·
This is what sets the raspberry pi apart from all other SBCs in my experience: software support. Kudos, this is fantastic stuff! Will love to see the ecosystem
by chubs 6y ago
This is what sets the raspberry pi apart from all other SBCs in my experience: software support. Kudos, this is fantastic stuff! Will love to see the ecosystem of stuff that springs up that takes advantage of this.
- StreamBright 6y agoI wish there was a multi CPU RPI board with M2 option. Sort of like this one: https://www.solid-run.com/nxp-lx2160a-family/clearfog-cx-lx2160-carrier/ https://www.solid-run.com/nxp-lx2160a-family/clearfog-cx-lx2...
- MisterTea 6y agowe're pretty much there. The new pi 4 compute module breaks out the pcie bus. The official pi4 compute base board routes that to a standard pcie x1 slot instead of USB 3.0 which is a massive win in my book (hello more ethernet/sata/fpga/nvme/etc). It's a baby Arm mobo with pci and I'm a little excited :-) I have a pi4 compute + base board on pre-order plus I just bought a pcie x1 m.2 M-key card off amazon. I plan to use the SD card (emmc on my model) to boot a kernel and use the m.2 card for storage. I think the pi foundation finally realizes that the pi has the potential of becoming an affordable and accessible SoM (system on Module) with a huge community behind it.
- StreamBright 6y agoAlmost! :) Not sure about the IO performance of this solution. > The official pi4 compute base board routes that to a standard pcie x1 slot instead of USB 3.0 Do you have more info on this? I am not sure how it works.
- aseipp 6y agohttps://www.raspberrypi.org/products/compute-module-4-io-board/ https://www.raspberrypi.org/products/compute-module-4-io-boa...
- geerlingguy 6y agoAlso check out https://www.jeffgeerling.com/blog/2020/raspberry-pi-compute-module-4-review https://www.jeffgeerling.com/blog/2020/raspberry-pi-compute-...
- Severian 6y agoIt would be nice it if wasn't perpetually on backorder though.
- slawekm 6y agohttps://turingpi.com/ https://turingpi.com/
- Aissen 6y agoAnd yet one of the reason it achieved such great software support is because it had so much success, despite the non-standard hardware (armv6 at launch, broadcom, no EFI boot, broadcom, no GIC, broadcom, no armv8, broadcom, gpu boots before CPU, etc.)
- leipert 6y agoI think you are missing broadcom on that list. But for real, why is Broadcom so bad?
- mschuster91 6y agoBroadcom is notorious for hiding everything behind very restrictive NDAs. You want a CPU from them? Don't bother contacting them unless you plan buying six figures, is the common sentiment on HN. On the other hand, there aren't many competitors that are better in terms of accessibility. Sigh. Implementing embedded devices with any sorts of "smarts" beyond some Atmel uC from scratch is a pain - one has to go with ready-made modules (ESPxx, Raspberry Pi compute module, COMexpress) to not go insane. And it's not just the data sheets where you will run into issues (at least, usually you can find them somewhere pirated to get started). Design guides, layouting rules and certifications are a way bigger pain point... looking at you Thunderbolt. And when you finally have your first PCB version ready, you'll soon find out that any components more intelligent than a couple transistors have sometimes ridiculous minimum order quantities. Let's take a SI2494 56k modem chip... 45$ apiece at a MOQ of 43 - which means if you want one or two you'll have to shell out about 2k $! And to add insult to injury, it's apparently still profitable to sell them for under 9$ at high quantities. This fucking rip-off is the reason why many hobbyist electronic projects are restricted to using dumbass components. edit: I totally forgot about the software side with embedded SoCs. Basically, to boot Linux or anything else on a SoC you need firmware blobs (e.g. for the GPU or wireless radio parts) and lots of custom code (e.g. to bootstrap clocks, memory, IO). Usually the SoC vendors have an ancient fork of a Linux kernel and u-boot in which over each new chipset there gets ever more custom cruft and (often shoddily) backported stuff from newer kernels. This conglomerate is called "board support package" or BSP - and is, despite consisting of open source code, often guarded as heavily by NDAs as the data sheets. Sometimes, especially for Mediatek stuff, these BSPs get leaked on Github... and it's always a wild ride looking into them. It's no surprise that upstream Linux doesn't have the support for whatever specific CPU... because the quality of the code is more often than not so hardcore rotten that it's a wonder you don't hear every day about some compromised IoT device.
- pizza234 6y agoIt's important to note that competitive x86 SBC do exist, and have the typical, full, x86 support. Of course, the downside is that the price is higher (around twice as much for a full system). A downside of ARM SBCs is that they pretty much all have an expiry date. Due to their closed nature, when the community pulls the plug, they're gone (SW-wise). x86 boards last virtually forever. While they're somewhat compatible with standard Linux distro, in order to have full support, one needs to use the adhoc ARM distros.
- nojs 6y agoWhich x86 boards would you recommend?
- paper25 6y agoodroid h2+
- dljsjr 6y agoI've used UP boards at a previous job for resource constrained systems that needed to be x86 and they're actually quite nice: https://up-board.org https://up-board.org
- jsheard 6y agoIf you're looking for something in the Raspberry Pis price range, the Rock Pi X is only $20 more than the equivalent 4GB Pi4 It has 32GB eMMC onboard too so unlike the Pi4 there's no need to deal with external USB storage or flaky SD cards
- aseipp 6y agoThere's quite a bit more to it than that, though. First, the "closed nature" thing is just as true about x86 as it is about ARM; you don't get full specs for any machine these days, Broadcom or not. Rather, from the perspective of "Linux developers who write code on and deploy to Linux" — or maybe "Linux Desktop Users" — the difference is in peripheral discovery and setup, of which x86 has ACPI and UEFI to dynamically discover and configure devices upon every boot, while ARM boards use device tree, which is static and requires up front, BSP-specific descriptions. Userspace binaries for AArch64 Linux will work across most devices. A RPi4 running Ubuntu and a RockPro64 running Ubuntu will use the same binaries just fine. The problem is when vendors have kernel patches or workarounds that make booting harder. But it's not like literally all software stops working on a specific date. If you have the kernel and dtb, you can make it work and keep your system booting. It's definitely less than ideal, if you think of it like a desktop, where timely updates are common and easy. But it's doable. And more devices seem to be moving towards an upstream-first model, so this seems like less of a problem anyway. I'll also note it's not actually hard to package a device tree blob with a userspace+kernel, it's just that most "desktop" distros make spinning custom variants unreasonably hard, IMO, so you need Buildroot/Yocto or whatever to build custom images. And again, "Linux users" like, say, most people reading this comment, don't actually want Yocto — they want Arch or Debian or whatever. A bit chicken and egg. Furthermore, the RPi4 also supports ACPI and UEFI (upstream Tianocore) which is continuously improving, so it can support generic Linux distros. I have a "generic" Fedora 33 install working on my RPi4, with UEFI boot, all from a USB3 stick. It even installed using an ISO, and I configured the install using Anaconda, identically to x86. The Pi4 also has a production date of at least 2026, and almost the entire userspace software stack is completely upstreamed now, including kernel, graphics drivers, and peripherals. So from the perspective of someone who treats the RPi as a kind of "mini Linux Desktop", most of your complaints don't really apply at all. But... --- The actual biggest problems with the lack of specs/dtb shit/"closed stuff" isn't when you want to treat it like a normal Linux machine with keyboard/usb/ethernet. That's easy and works today. You can get most of the desktop Raspberry Pi experience, including generic distro boot, today! It's when you want to treat it like an actual "embedded device" where you write custom drivers or poke GPIOs or use hardware features, or whatever. That's where the closedness sucks, but in that case, even if it sucks or there's no specs, there's normally no realistic x86 alternatives. Sure, you can buy a $100 x86 device in an RPi form factor with RAM and plug a keyboard into it, and it's OK if it uses 2x as much power at load, if you just want a mini desktop that is cool. But where's the $20 x86 device that has a shitload of I/Os I can use to interface with various peripherals of my choosing, with all the accompanying good stuff like good DAC/ADCs, GPIOs, camera support, eMMC? And where can I buy them? Where's the $5 RPi Zero alternative? Because the ODROID-H2+ is $120 USD, and doesn't even have GPIOs!