Pine64 Announces 'Sub-$10, Linux-Capable' SBC - the Ox64 (liliputing.com) 90
Pine64 has announced a new "sub $10 Linux capable single board computer" called the Ox64.
Liliputing says the tiny SBC "looks a lot like a Raspberry Pi Pico. But while Raspberry Pi's tiny board is powered by an RP2040 microcontroller, the Ox64 has a dual-core RISC-V processor, 64MB of embedded RAM, and support for up to 128Mb of flash storage plus a microSD card for additional storage." It's expected to support RTOS and Linux and blurs the lines between a microcontroller and a (very low power) single-board PC. It's expected to go on sale in November with prices starting at $6 for an RTOS-ready version of the board and $8 for a Linux-compatible model.
As spotted by CNX Software earlier this month, the board is designed to be a small, inexpensive single-board computer with a RISC-V processor that's aimed at developers.
Pine64's October update also reveals that their Star64 and QuartzPro64 single-board computers "now boot Linux (and run it well too already!)"
Liliputing says the tiny SBC "looks a lot like a Raspberry Pi Pico. But while Raspberry Pi's tiny board is powered by an RP2040 microcontroller, the Ox64 has a dual-core RISC-V processor, 64MB of embedded RAM, and support for up to 128Mb of flash storage plus a microSD card for additional storage." It's expected to support RTOS and Linux and blurs the lines between a microcontroller and a (very low power) single-board PC. It's expected to go on sale in November with prices starting at $6 for an RTOS-ready version of the board and $8 for a Linux-compatible model.
As spotted by CNX Software earlier this month, the board is designed to be a small, inexpensive single-board computer with a RISC-V processor that's aimed at developers.
Pine64's October update also reveals that their Star64 and QuartzPro64 single-board computers "now boot Linux (and run it well too already!)"
Re: (Score:1)
Re:Yeah no (Score:5, Interesting)
I'm running a multi user Debian install on a Lichee RV board. It has a whopping 512mb of ram and currently 40mb is consumed. That isn't even with a trimmed down kernel. Running Linux on smaller embedded devices is easy. Here's a 5.0 kernel booting on an esp32 microcontroller. https://www.reddit.com/r/esp32... [reddit.com]
Re: Yeah no (Score:2, Interesting)
Re: (Score:1)
Most of us won't be planning to run Firefox on these.
Re: (Score:3)
I'm running Debian on a pogoplug (v4) with 128MB RAM and /proc/meminfo says that I have 89MB available. This is with a completely stock (if old, 3.17.0) kernel. (yes, it's on a private, firewalled network behind another private, firewalled network.) Not a lot is loaded, but there are a few servers running.
64MB is tight, but it's not unworkable for a simplified system without a lot of unnecessary stuff. kernel, uclibc, busybox, and whatever your one server process is can reasonably all fit in there with room
Re: Yeah no (Score:3)
Re: (Score:3)
For comparison the uncompressed kernel for Raspberry Pi OS (a Debian derivative) is about 28MB. For the kernel alone. So unless you cut it down then just the core of the OS is going to take a substantial part of your RAM and flash memory.
On systems like this you generally need to build the OS image on another machine, because running compilers or apt on the system itself isn't practical. So it's not really a Linux distro as most people know it, it's a stripped down embedded OS that comes as a compressed rea
Re: (Score:2)
Sounds like there is something wrong with your software then as any server that is using lots of memory would be unstable.
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
What is Linux? You are right, a Linux kernel and a command line use next to nothing and could run on a potato. A modern Linux desktop on the other hand is a very different thing and doesn't remotely use 40mb of RAM.
Re: (Score:1)
No one but you is talking about running a "modern Linux desktop" on this type of system. Please try and keep up.
Re: (Score:2)
Nope. Quite clearly half the posters in this thread are talking about it considering they clearly think Linux uses a lot of RAM.
I'm keeping up. Where are you AC? Just here to Troll of course without adding anything meaningful to the discussion in progress.
Re: (Score:2)
Strictly speaking you can strip the Linux kernel down to something that'll fit in 64mb. You have to exclude a lot of "optional" stuff. Like most of the network stack. And even then it doesn't leave much room for your application.
Re: (Score:1)
The network stack doesn't use up that much and software bloat is a huge problem. Once up a time a dozen users could be banging out code on a system with one full megabyte of ram. Something like a PDP-11/70. You should see how many terminals an IBM System/36 could support in 7mb!
Re: (Score:3)
I first wrote code on a Commodore 64 with 64 KILObytes of ram. I'm well aware of what you can do in 64 MEGAbytes. I also know that before instantiating any data structures, loading any dynamic modules, or starting the init process the object code alone of the Linux kernel I run is 34 megabytes.
Re: (Score:3)
This generation would be amazed with how much we used to accomplish with what, by today's standards, is so little. Modern development is phenomenally wasteful. I'm not convinced that we've gained anything in exchange for the incredible cost...
Re: (Score:2)
Umm. The Fedora 36 full kernel is 11MB with a 36MB initramfs. That includes many unneeded modules, and systemd. Linux can fit in way less than 64MB.
The RaspberryPI version of Alpine Linux is 10MB which includes both kernel and busybox
Re: Yeah no (Score:2)
We used to run Linux on a 386 with 8MB of RAM and it ran X11. I had one in my attic that ran an IRC bot. Why wouldnâ(TM)t it work today? The kernel shouldâ(TM)ve been even more optimized since.
Re: (Score:2)
I worked on a project in 2019 that ran ucLinux in 32MB of RAM. It was pretty stripped down, but it was an embedded board so nobody was expecting a desktop Linux distro.
Re: Yeah no (Score:2)
My PC in 1996 had 32mb RAM, i could have X and a browser.
I ran Linux 2.4.20 on 4MB RAM with LinuxAP.
Re: (Score:3)
My PC in 1996 had 32mb RAM, i could have X and a browser.
Luxury! [Yorkshire accent] You tell that to young people today ...
I remember when Linux ran in 4MB, 8MB if you wanted X-windows, and 12MB if you wanted X to be usable while you had a kernel compile running in the background (because that was a thing everyone did regularly back then.)
Re: (Score:1)
It seems that minimum amount of memory to run X is 256 MB these days.
One could argue that the Linux desktop user experience is getting worse.
Memory requirements for text mode : 36 MB to boot to cli
Memory requirements for KDE4 : 512 MB to run Xwindow
Memory requirements for LXQT : 256 MB to run Xwindow
Memory requirements for MATE : 256 MB to run Xwindow
Memory requirements for XFCE : 256 MB to run Xwindow
Memory requirements for XFCE : 256 MB to run Xwindow
Reference: http://www.porteus.org/info/fe... [porteus.org]
Re: (Score:2)
One could argue that the Linux desktop user experience is getting worse.
If you're trying to run a GUI in a very small amount of RAM then yes, I suspect not many of the developers are interested in that though. If you are and think this is a significant problem then you've identified a gap in the market.
Re: (Score:2)
I ran linux on the most minimal configuration I could cobble together, for shits and giggles. A 386SX at 16Mhz, with 2MB of ram, on a 40MB hard drive. It would dial in to an ISP and share the connection with all computers in the house. The kernel had to be compiled to the most minimal version possible so it could enable swap and then load in the required modules for anything it didn't need to just boot. It wasn't very fast but it *did* function.
Re: (Score:2)
A 386SX at 16Mhz, with 2MB of ram, on a 40MB hard drive. It would dial in to an ISP and share the connection with all computers in the house.
A home LAN? I seem to remember in the days of the 386, ethernet card cost around $500 each. At least there was no router needed with thin ether :)
Re:Yeah no (Score:4, Informative)
This isn't correct for embedded based kernel builds. I've seen kernels with 5.15 that run inside of 12MB on PSRAM of all things. 64MB is more than enough for embedded based projects. I mean here's JuiceVM [github.com] that's gotten a 5.x series kernel running on VM around 100KB. I think that's the most extreme that I've seen but, 64MB is a very doable goal for a modern Linux kernel.
BUT in all fairness the folks that deal with embedded kernel builds isn't some massive group of folks. So yeah, it's absolutely understandable to look at all the things the Linux kernel does today and think, yeah there's no way to get it to fit 64MB. But it is something that can be done. I've done some stuff with embedded professional, but never from scratch, always been hacking on other's already established config/build. So I'm nowhere near the expert level that say these people who whip up their own ground up project are on. So I cannot speak on how easy doing something like this is from ground up.
Re:Yeah no (Score:4, Informative)
64mb RAM is not Linux capable, nothing remotely current anyway. Even heavily trimmed down.
https://github.com/bouffalolab... [github.com]
There’s a distribution hosted on GitHub that disagrees with you. That’s what they’re linking to if you read through their documentation. It’s specifically intended for this hardware.
Re: (Score:3)
64mb RAM is not Linux capable, nothing remotely current anyway. Even heavily trimmed down.
It would be hard to get anything approaching a normal Linux distro running on a device with 64 MB of RAM, but I'm pretty sure you can build a stripped-down Linux kernel with minimal caching, etc. that will run in single-digit or low-double-digit megabytes of RAM. With 64 MB of RAM, that would leave just enough RAM to run sshd for uploading new binaries plus whatever custom software you want to run that manipulates the GPIO outputs or whatever. There's no prayer of running any modern web server in such a s
Re: (Score:1)
What I don't understand is why they hobbled a 64-bit core with such inadequate RAM.
Being Pine64, the answer is probably just that this is what their manufacturer could hook them up with a deal on. If demand flourishes after the first model they'll be more likely make more with bigger specs.
Re: (Score:2)
It would be hard to get anything approaching a normal Linux distro running on a device with 64 MB of RAM
Funny, that. My first x86 PC had 72M of RAM and a far slower CPU (133 MHz Pentium). Dual booted Windows 95 and Linux, of course. 72 was considered very generous at the time I got it, and you could do a lot with it. Now, these days it really depends on what you want to do. Obviously everything has got bigger and 64M is inadequate for running a desktop OS. Heck just a 4k dumb frame buffer clocks in at 24M,
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
Why not an ESP32 (or 8266) for that stuff? Shift the historian to a server, but all the perimeter devices can be much more limited.
Re: (Score:2)
Re: (Score:2)
Check out ESPHome. It really is amazing what you can do with these boards, even if it is a little different paradigm.
Re: (Score:2)
Why not an ESP32 (or 8266) for that stuff? Shift the historian to a server, but all the perimeter devices can be much more limited.
The short story is people want a Linux user land environment. SSH to the SBC and its like being on a 1980s/90s DEC minicomputer/mainframe. You have a robust unix development environment at your fingertips. :-) Raspberry Pi OS is amazingly complete in this respect.
ESP32 is not that. Which is perfectly fine. FWIW, I have ported individual applications from that late 1980s early 1990s era from unix to ESP32. Its actually less of a hassle than porting more modern software. The old stuff tending to be straigh
Re: (Score:2)
Guess I am not creative enough to think of an application like a pool controller that would want a full unix stack rather than a quick web gui and a client-server data connection via MQTT or something. Even random protocols like a mini-split air conditioner can easily be handled by the ESP32, and you can do OTA updates when needed.
I guess my failure rate for BeagleBones, Pi's, Pine64's, and the like is worse than most. My first BeagleBone failure was especially painful. Now I like a single server that ev
Re: (Score:3)
Big thing I noticed is no ethernet out of the box, so that is a bit of a problem as I typically have my projects firewalled inside my network.Sounds like I need to factor in the cost of a usb network dongle. And I just looked at the compressor monitor process is 2MB, the pool controller is 1.7M. Programs don't have to be big to be useful. You just drill down directly to the GPIO, which is what I prefer anyway.
Yeah, for remote sensors or simple power control applications, this could be usable were it not for the lack of Ethernet, assuming you don't run out of RAM while compiling the binaries for those tools (which then gets you into cross-compiling territory, which can be a giant pain in the backside) or when running git to manage your source code changes, though with 64 megs of RAM, that's a big "if".
And as you noted, it would be 100x more useful if they wired up the PHY pins on the SoC to a port instead of wast
Re: (Score:2)
Re: (Score:2)
Out of curiosity, it sounds like the NodeMCU would fit your needs really well. If you considered it, was there any particular reason you rejected it?
Re: (Score:2)
Re: Yeah no (Score:2)
Re: (Score:2)
They are not meant to be general purpose machines or workstation replacements, and developing on bare metal or with resource limitations, is a good exercise for developers to really understand the fundamentals of computer science.
Only if by "understand the fundamentals of computer science", you mean "understanding how to rewrite half the libraries you want to use so that your software doesn't crash when it runs out of RAM.
Figuring out how to shrink software down makes sense if you're productizing it, because cutting a few bucks off the BOM can save real money, but there are better ways to learn the fundamentals of CS than to try to use a modern version of Linux and a modern CPU, but late-1990s amounts of RAM. That's borderline crue
Re: (Score:2)
Sounds like you are in the market for a Mango Pi or Lichee RV. Both boards are similar and the Mango has the same form factor and pinout as the Pi zero. No onboard flash and they run from an sd card. Just bought myself another Lichee RV for $32 shipped.
Re: (Score:2)
Sounds like you are in the market for a Mango Pi or Lichee RV. Both boards are similar and the Mango has the same form factor and pinout as the Pi zero. No onboard flash and they run from an sd card. Just bought myself another Lichee RV for $32 shipped.
For about five-sixths of my projects over the past two years, I've had a hard ARM-or-x86 requirement because of a closed-source library, but yes, those could probably provide a solution for the remaining sixth, and could have freed up a Raspberry Pi rather than having to buy a Rock Pi at over a hundred bucks.
The other annoying thing is the lack of Ethernet on all of these boards; that's solvable as long as there's at least one usable USB or USB-C port, but when the SoC has an onboard NIC and they don't make
Re: (Score:2)
Back in the Dark Ages when fast PC hardware still cost an arm, a leg, and three teeth, I knew a Win95 developer whose work machine was a 16MHz 386 with 16mb RAM. (Took five minutes to boot, but ran adequately after that.) He could have done better, but his philosophy was that he wanted to know what he was doing to users who were stuck on average hardware, and that if his work ran decently on his shit machine, it would run beautifully for everyone else.
Re: (Score:2)
Re: (Score:2)
my 16MB P133 from 1996 says differently ....
Re: (Score:3)
Re: (Score:2)
Tiny linux can run but forget about running your Hello World! in Python.
Embedded Perl should work fine for most tasks. Most of the language is available.
Re: (Score:2)
Re: (Score:2)
64mb RAM is not Linux capable, nothing remotely current anyway. Even heavily trimmed down.
640k of RAM ought to be enough for anyone. - Bill Grates
Re: (Score:2)
Linux runs just fine under 64MB.
It may not be Linux as you expect Linux to be, but it's still Linux.
It will run happily in 16MB of RAM with a kernel lacking enough features. ucLinux can run in 4MB of RAM (but it's very much not Linux as you'd expect it to be)
On embedded devices, you don't select "Y" for every single feature in the kernel build
ISA endianness (Score:2)
The RISC-V ISA Specification states that the ISA's endianness is implementation defined. Why is it that neither the BL808 datasheet nor the reference manual make not even the slightness mention of what is implemented? The reference manual should even diagrammatically lay it out.
Re: (Score:2)
Maybe it depends on how the user configures it? I'm pretty sure you can reflash POWER8 processors either way.
Re: (Score:2)
The RISC-V specification defines little-endian as the standard:
The base ISA has been defined to have a little-endian memory system, with big-endian or bi-endian as non-standard variants.
Re: (Score:2)
Kind of. They say they used that for their reference material just because little-endian is more common at the moment. It's still up to each implementation to state what they have adopted.
Re: (Score:2)
What parent said is 100% correct.
The standard defined in the ISA is little-endian.
From the official spec:
The base ISA has been defined to have a little-endian memory system, with big-endian or bi-endian as non-standard variants.
Instructions are *always* little-endian on RISC-V regardless of the data mode.
Re: (Score:2)
It's still up to each implementation to state what they have adopted.
Why? The standard is little-endian anything else is non-standard. If you're doing something non-standard then of course you would clarify but you're not going to reprint the standard just to restate all the things in that standard that you implemented in the way defined in the standard, that's why there is a standard.
There are better (Score:2)
You can get a wifi router with 256MB memory for just a little more and put OpenWRT on it. You may even find a few gpio or spi headers on the board.
Re: (Score:2)
You're missing the entire point of RISC-V.
Re: (Score:2)
Purely out of technical interest, as someone who is building a toy RISC-V Chip on an FPGA, why is it awful?
Re: (Score:2)
Re: (Score:2)
RISC-V is an open architecture. You can get the verilog code for the cpu and simulate it yourself.
Re: (Score:2)
Re: (Score:2)
You can get Verilog code (lots of them in fact, also VHDL and SpinalHDL) for SEVERAL IMPLEMENTATIONS OF RISC-V CPU but not for the one on that SBC. RISC-V is an architectural spec, not an implementation. Which means you can't simulate that specific CPU.
Is it available? (Score:5, Insightful)
Because low-cost computers that are unobtanium are a dime a dozen.
Or rather... a hundred bucks a piece after scalping.
Re: (Score:2)
Go look on Aliexpress. Tons of RISC-V boards are for sale. The Mango Pi is the same form factor and pinout as the Pi Zero.
A: Yay. B: Dang! (Score:2)
RISC-V (tiny configuration) linix board for $8. Yay.
Built into the SoC Bluetooth 5.*0* (not 5.1 or better). Dang!
(I was looking for a board to do some BLE AoA stuff. For a lot of other things this would be neat, but for my particular bonnet-bee of the month, a near-miss. Oh well...)
Re: (Score:2)
https://wiki.pine64.org/wiki/O... [pine64.org] states:
Network
2.4GHz 1T1R WiFi 802.11 b/g/n
Bluetooth 5.2
Zigbee
10/100Mbps Ethernet (optional, on expansion board)
But, as others have mentioned.... linux with 64MB RAM? Sounds slightly inadequate....
Re: A: Yay. B: Dang! (Score:1)
And as other others have pointed out, it's just fine for what this is likely to be used for.
Missing multiple antenna switch support? (Score:2)
https://wiki.pine64.org/wiki/O... states: ... Bluetooth 5.2
Good to know. The news item linked from TFA said 5.0. So maybe it's a typo, or maybe the driver isn't up to fully supporting the radio yet. (If so that just means a little more firmware work.)
Supporting AoA / AoD requires multiple antennas and an antenna switch chip, which, of course, would be external. To implement this (if it isn't on the board itself, which it wouldn't be on something this small) the board would need to make the RF connection
(Typo: Paren in wrong place) (Score:2)
Should have been:
I can't tell if the control signals make it to the board's side connections (or if the RF connection is repeated there), or can be selected without suppressing some other signal that would also be necessary for the contemplated application. But it's looking promising.
(i.e. the issue was whether the antenna switch control can be selected on pads that make it to the board edge connections without de-selecting something else that would be neded.)
But, does it run Doom? (Score:2)
Re: (Score:2)
Re: But, does it run Doom? (Score:2)
Re: (Score:1)