buildroot

Lazyweb, if you can point me at working instructions for getting a MacPorts-based Raspberry Pi cross-compilation environment up and running on MacOS 10.12, that would be appreciated.

(Be advised before you point me at instructions for an older release of MacOS, I have tried that, and it doesn't work.)

I'm trying to get buildroot going but Apparently Apple's "clang can totally just impersonate gcc" theory is false, and even after doing "port select --set gcc mp-gcc7", MacPorts seems to be using the wrong compiler. I can't even find a straight answer on whether I should be installing "arm-elf-gcc" or "arm-none-eabi-gcc", but neither of them will build when doing "port install".

Fun fact: buildroot requires GNU sed. Because we're still innovating in sed syntax here in the 21st century, FFS.

Previously.


Update: Apparently buildroot does attempt to download and build its own cross-compilation toolchain if you run it with a functional native gcc. So here's how far I've gotten so far in this buildroot-2016.08 shitshow:

  • port install gsed
  • export PATH=/opt/local/libexec/gnubin:$PATH
  • make raspberrypi3_defconfig
  • port install gcc7 gcc_select
  • port select --set gcc mp-gcc7
  • port install coreutils md5sha1sum findutils
  • make all
  • m4 doesn't build; manually add this to its "configure" command:
    ac_cv_type_struct_sched_param=yes

  • toolchain doesn't build. add this to toolchain/toolchain-wrapper.c:
    static const char *program_invocation_short_name;
    ...
    program_invocation_short_name = basename;
  • toolchain still doesn't build. remove this from toolchain/toolchain-wrapper.mk:
    -Wl,--hash-style=$(TOOLCHAIN_WRAPPER_HASH_STYLE)

  • And then this:
    /scripts/Makefile.headersinst:55: *** Missing UAPI file ./include/uapi/linux/netfilter/xt_CONNMARK.h. Stop.

    Guess what that means? It means "After all these years, jackasses in charge of the Linux kernel still spitefully and with malice aforethought include case-conflicting file names in the source."

    Apparently their official policy is "all reasonable file systems are case sensitive." (This is objectively false: all reasonable file systems are case preserving insensitive with Unicode canonicalization.)

    So this means start over from scratch inside a sparseimage:
    hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 8g buildroot

  • And then this: compilation of uclibc-1.0.17 fails with:
    ./../include/elf.h:30:10: fatal error: endian.h: No such file or directory
    ../utils/porting.h:48:10: fatal error: link.h: No such file or directory

    No idea what's going on there.


Update 2: Ok, so I finally accepted the truth that "the only way to build a Debian system is using another Debian system" and installed a Debian in VirtualBox to run Buildroot to create a CF card to run on a Pi.

It is one fucked up universe we live in where "run another operating system in an emulator" makes more sense than "just cross-compile." What is this, A Deepness in the Sky?

Fun fact: Virtualbox "recommends" the Debian emulator have 1GB of RAM, which is apparently insufficient for compiling a Linux kernel. Of course the build process has completely sensible error messages when that goes wrong. Oh wait, no it doesn't.

So now Buildroot spat out something that boots, but not something that recognizes USB keyboards, so that's lovely. Back down into the salt mines...

Tags: , , , ,

The Lost Civilization of Dial-Up Bulletin Board Systems

How fitting, I thought, that a rugged individualist-type would still be running a dial-up only BBS (no Telnet) out in the middle of Texas.

I dialed-in, looked around, and found a bare-bones FidoNet messaging center with no apparent games and no local message activity to speak of. It was a Texas ghost town.

FidoNet is the most popular inter-BBS message network, with about 2,500 listed nodes (or connected systems) worldwide. That might be a stretch; recent attempts to verify that number by actually connecting to the services have come far short of 2,500. It's more likely that 100 to 150 are still active. It's a long fall from FidoNet's peak in 1995, at over 35,000 nodes. [...]

Intrigued, I left a message for the sysop, Mike Luther. No response. I called again and left my phone number. About an hour later, my phone rang: "Caller ID Blocked."

The BBS as a digital bunker for the age after privacy on the internet. It was Luther. He spent most of our hour-long conversation talking about things like Area 51 and the Mafia. They reflect the colorful nature of some of the BBS holdouts. In part of our conversation, Luther described the activities of Adolf Hitler and how they related to Texas. I had to ask: "Did Hitler ever use a BBS?" Luther replied, "I don't know."

This veteran sysop was born in 1939 and has been using computers as long as he can remember. He says his father once led the math department at Texas A&M University, which is located in College Station. Today, Luther runs his BBS out of the small house where his dad once lived, and he does so out of a sense of obligation to provide a dial-up avenue to FidoNet that is -- supposedly -- free of government surveillance. The BBS as a digital bunker for the age after privacy on the internet.

Eventually, Luther expressed grave concern for my safety given his complex life full of dangerous connections, so we exchanged polite goodbyes. [...]

Ten years ago, when I dipped back into BBSes, I still got a sense that many sysops ran them to provide a libertarian alternative to the internet. Among them, the unoppressed who wanted religious freedom, the unsurveilled who wanted freedom from surveillance, and those prepping for the day when BBSes would provide shelter after the internet came crashing down.

Today, those sentiments are much more unusual in the BBS community. In 2016, calling a BBS mostly means reliving glory days long past: 1990s technology as comfort food, nourishing the fragile soul with a slow drip of information at a rate that old-timers actually can comprehend.

Previously, previously, previously, previously, previously, previously, previously, previously, previously.

Tags: , , ,

  • Previously