rant: the range of sizes of tubing available at local and big-box hardware stores seems to be carefully selected such that nobody can fabricate telescoping items such as chair legs. for example, at the Petaluma Friedman's Lumber, you'll find stainless tubing in 1/4", 1/2", 3/4" and 1", all with about a 1/16" wall, which means that they all fit loosely inside the other. looks like I'll have to buy tubing for my projects online and pay a lot for shipping.

I think I found the perfect director for a movie of Stranger in a Strange Land of which the Master himself might approve: Borja Brun. nothing short of this level of explicit erotism would do justice to the book.

getting back into Linux kernel programming after an almost 2 decade hiatus. a lot has changed, but the underlying concepts are still pretty simple. for example, you don't need Modules.symvers to compile a LKM (loadable kernel module) if your system doesn't use modversions; you only need to match the kernel version number.

there's a whole lot of misinformation about building kernel modules out there too. just installing kernel headers won't do it. you need at least the Makefiles. that stuff about /lib/modules/`uname -r`/build is often wrong, as on the ARTIK 710 development board the symlink points to /home/release/artik710_release/linux-artik7, a nonexistent directory. and the kernel-headers package for that Fedora distribution places the headers under /usr, so what I did was mkdir -p /home/release/artik710_release and symlink /usr to linux-artik7 under it. then I had to mkdir /usr/modules to avoid the make[1]: *** No rule to make target 'modules'. Stop. error. then finally make ran without errors in the directory where Derek Molloy's first sample LKM was located:

[root@artik hello]# make
make -C /lib/modules/4.4.19-0710GC0F-44F-01QA/build/ M=/usr/src/exploringBB/extras/kernel/hello modules
make[1]: Entering directory '/usr'
make[1]: Nothing to be done for 'modules'.
make[1]: Leaving directory '/usr'
[root@artik hello]# 

but no output was actually generated, because the kernel Makefiles were not found at /usr. and those depend on a host of other directories, scripts, and includes. so, you really need a chunk of the actual kernel sources too, not just the headers.

and it seems odd that it took almost 7 years for someone to point out to this guy that there's an export directive in GNU Makefiles.

also, I learned how to compile and install Device Tree files.

today, I'm back to work on my port of David Stodolsky's myturnb software. I hadn't made any progress for him all week due to the new job falling into my lap.

both are interesting challenges, but I have to admit I love bare-metal programming better than almost anything else. it's taking huge amounts of self-discipline to stay away from the ARTIK.

Back to blog or home page

last updated 2017-07-16 11:55:48. served from tektonic.jcomeau.com