4 ms·
Timely, but not quite what I needed (unless I missed something in the article—pretty likely). I just spent a bunch of time setting up a Raspberry Pi 1 B with Al
by schemescape 4y ago
Timely, but not quite what I needed (unless I missed something in the article—pretty likely). I just spent a bunch of time setting up a Raspberry Pi 1 B with Alpine Linux, and it was surprisingly difficult to find the right strings of gibberish to get everything set up.
The Alpine packages are “armhf” and the last 2 letters I think mean it has hardware floating point support.
The kernel is armv6l and I still don’t know what the last letter is for.
Cross-compiling for it can be annoying, but I seem to be able to pass the CPU name directly (I don’t remember it off-hand, but it’s more easily Google-able) to get things to build properly.
I don’t really have a point, just venting…
- codetrotter 4y ago> I just spent a bunch of time setting up a Raspberry Pi 1 B with Alpine Linux But why? That’s ancient! I’ve got a few different models of Pi’s laying around and even the 3B+ ones feel old at this point! The oldest one that I have is surely an RPi 1 Model B as well! Because it has dual USB ports and no more USB than that. Haven’t used this one for ages tho, but still have it sitting on my desk here. Edit: Specifically, after looking at some more images and details online, the oldest mentioned Pi that I have in my possession seems to be a Raspberry Pi 1 Model B Rev 2.1 (UK) model.
- schemescape 4y agoIt’s just what I had available. I wanted to see how much I could do with it. It’s surprisingly capable! But very slow.
- codetrotter 4y agoWell, that’s still better than me. You putting your old Raspberry Pi to use, while me having my old Pi’s sitting unused just because the newer ones I have are faster :) And meanwhile I have a couple old PowerPC macs that I plan to put to use, which may at this point be slower even than the RPi 1 B I have and am not using :p
- asddubs 4y agoi like the 3b+ for its reduced current consumption, you can just use any old 5v2a power supply with it
- dTal 4y agoSure, if you don't mind constant undervolting. In my experience the only way to get a 3b+ to run reliably is to power it directly from the 5V header pin.
- asddubs 4y agoI haven't had any problems running one 24/7 for half a decade now. I suppose it depends on your peripherals and load though.
- invalidator 4y ago> The kernel is armv6l and I still don’t know what the last letter is for. ARM is bi-endian. I'm pretty sure the 'l' means the kernel was compiled to be little-endian.
- schemescape 4y agoI probably should have thought of that, thanks!
- gleenn 4y agoSo what you're saying is, it's bi-endian because you have two arms, and this is the Left one?
- detrites 4y agoYes: > elf32-littlearm, and elf32-bigarm
- ndesaulniers 4y agoAh, in my rough draft I do have a section on this! But I cut it because hardware support for floating point on ARM deserves its own post. Keep an eye out for the follow up then.
- schemescape 4y agoTouché! For the record, I was complaining about the diversity of ARM targets (as viewed by someone who wants to have to know as little about it as possible, while still getting things to work), and not about your article!
- ndesaulniers 4y agoAre you familiar with RISCV? :^)
- kikoreis 4y agoFWIW, the Raspberry Pi 1B is an ARM11, which is why you are getting and booting an ARMv6 kernel. v6 is the architecture; the "l" at the end of "v6l" indicates it's little endian. As for "armhf" it is a description of the the ABI, and the "hf" means what you said, that the hardware supports floating point operations. I'm slightly confused as to how armhf could work on the ARM11 on the Pi 1 and Zero generations, as AFAICR it targeted v7 onwards.
- kikoreis 4y agoAh, it seems that Raspbian built for ARMv6 but still used the ABI tag "armhf", how confusing; I guess Alpine has done something similar. https://wiki.debian.org/RaspberryPi#Raspberry_Pi_OS_.28formerly_Raspbian.29_and_Debian https://wiki.debian.org/RaspberryPi#Raspberry_Pi_OS_.28forme...
- Narishma 4y ago"hf" is targeted at v7 and newer in Debian but I don't think it's for any technical reason. Raspbian is mostly just Debian recompiled for ARM v6 with hardfloat and it works just fine.
- rsaxvc 4y agoARM11 has an FPU. The FPU is particularly slow to copy back and forth to the integer registers. This the raspberry pi people support an ARM11 core with armhf ABI, albeit limited to the VFPv2 FPU instruction set.
- monocasa 4y agoThe 'hf' not only refers to the presence of a hardware floating point unit, but also that the floating point function arguments are passed in floating point registers in the ABI. For interwork with precompiled binaries, the full ABI support assuming hardware floating point trailed behind the simple presence of an FPU for a surprisingly long amount of time. For a real long time, the asm would be crazy, passing floating point arguments into the integer registers at every function call boundary, just to pass them back into the FPU registers to perform any work on them.
- firstlink 4y agoABI compat: yet another price we pay for the legacy incremental compilation hack known as linking.
- deleted 4y ago[deleted]