Having worked with Linux for the last 20 years, and embedded for more
than ten of them, I’ve become quite a fan of virtualization in general
and Qemu in particular.
Qemu is a fantastic little tool, created by the Open Source superhero
Fabrice Bellard.
It can be used to verify an embedded system without having to deal with
the problems of actual HW until you really have to. Don’t get me wrong,
HW excites me like any other nerd, but if the HW is new and shaky it can
be quite a pain to develop higher level functions.
My holy grail is to have a 100% complete and accurate virtualization
target per architecture to test my various software projects on. That’s
why I created TroglOS.
The last game I ever played was Castle Wolfenstein 3D, released in
1992 for MS-DOS, made by the now legendary id Software. OK, admittedly
I’ve played other games since then, but I’ve never again been so manic
about a game since Wolfenstein.
This post is about how to build, install and set up Wolfenstein 3D on a
Raspberry Pi running RetroPie … on a Picade :-)
Fig 1. Classic XKCD cartoon :-)
Please see the latest update, below!
Ever since my first stumbling steps with Linux back in ‘96, I’ve been learning about UNIX. The first obvious lesson was to not use the root account. Since then I’ve been using a combination of sudo command and suid root binaries to get the job done.
For the last ten years, however, I’ve been meaning to learn about Linux capabilities(7) and thanks to a friend and colleague of mine I now have :)
For some odd reason, today was the day when I woke up and continued working on libICMP. It’s now almost seven years since I first adopted Tim Lawless’ public domain version, and today I picked up where I left off and started refactoring and cleaning up.
Example:
#include "icmp/icmp.h" int main(int argc, char *argv[]) { char *host = "localhost"; struct libicmp *obj; if (argc >= 2) host = argv[1]; if (!
This post is about my adoption, refactor, and rebranding of thttpd as
Merecat.
I code for recreation as well as work. Most of the time I tinker around
with my various projects simply to learn
and sometimes these little projects turn into something useful for other
people as well, which is great!
Recently I discovered my method to get started:
refactoring, or just simple code cleanup. You see I've got this crazy
idea that all simple things are correct. Although things
usually tend to require a certain balance — not all things can be
simplified, and not all simple things are correct.
When I recently had to migrate my personal blog, FTP, and GIT server, I
set out to run everything from an old RasPi2. This put my private life
in just about the same niche as my work life, embedded. On a resource
constrained platform like that running Apache is not the best idea. So
I set out to (re-)discover the web servers of my past, the late 90’s, I
had almost forgotten:
Finally, fresh from the oven, here are the remaining two toolchains I’ve promised, based on GCC 6.1 and GLIBC 2.23. Download from the FTP:
arm-unknown-linux-gnueabi-6.1.0-2.tar.xz powerpc-unknown-linux-gnu-6.1.0-2.tar.xz x86_64-unknown-linux-gnu-6.1.0-2.tar.xz Unpack into /usr/local, and add to your $PATH, e.g.
export PATH=/usr/local/arm-unknown-linux-gnueabi-6.1.0-2/bin:$PATH The toolchains are built using crosstool-NG on Ubuntu 16.04 64-bit, and are primarily intended for myself and users of TroglOS, but are generic enough to be useful for other purposes as well.
First GCC 6.1 based ARM (32-bit) toolchain released on my FTP. Built using crosstool-NG for Ubuntu 16.04 (x86_64) with GLIBC 2.23.
arm-unknown-linux-gnueabi-6.1.0-1.tar.xz Download, unpack into /usr/local, and add to your $PATH
export PATH=/usr/local/arm-unknown-linux-gnueabi-6.1.0-1/bin:$PATH There’s lots of neat stuff included, both a sysroot and a debug-root with GDB and gdbserver for target. For details on using it, see the excellent docs.
The main purpose for my building this is TroglOS, but it is useful for other purposes as well of course.
Today the new logo for Finit3 was added to the GitHub repo and the homepage
Gorgeous, isn’t it?! :sunglasses:
This fancy artwork means we’re nearing the end of a long and agonizing release cycle where a lot of the internals of Finit have been rewritten and new exciting features have been added! More on this in an upcoming post :smiley:
OK, so here’s the general idea: take one teaspoon of a well equipped SBC with Marvell chips you know well, add an awesome WiFi hotspot with USB connection, stir feverishly for several weekends in a row, then sprinkle some AlpineLinux and a custom kernel on top. Enjoy!
I have no clue if this will actually work, may even try porting my own little thing called TroglOS to the ClearFog first, I don’t know, but it will definitely be awesome!