Family Photo Chest Part 11: PiCore

Good Morning from my Robotics Lab! This is Shadow_8472, and what a week it’s been! Today, I’m telling you the story of how I’m building up an operating system just to scan photos. This is also a follow up to last week’s topic, where I introduced PiCore as a base. Special thanks to Rich and Juanito of the TinyCore forum who have been answering my questions as I learn about this amazing, little Linux distro. Let’s get started!

Window Manager

I feel like I could do a post or two just on window managers, and I may do so in the future. Long story short, a window manager is responsible for drawing windows within a window server, and not much else.

I now know I used to judge a desktop environment by its window manager without much thought to all the other individual programs going on in the background: a file manager, menus, text and document editors, sometimes even a browser and often a calculator. All of that is bloatware for my purposes. My goal is to have as slim of a system as possible for running GIMP without spending days on end cinching the last megabyte out of the system. After all, I still have to look at it.

Which brings me to my choices in window managers for PiCore. With a smaller tce repository due to being off the main TinyCore branch for X86, I only found a few options. FLWM (Fast Light Window Manager) ships with TinyCore in the main branch. I installed it, and hated all the stuff on the left side. I suppose someone must like it, and I can admit it takes up less vertical space, but I do need at least a few familiar points of reference.

I started researching window managers, but only when I searched tce for keywords: ‘window manager’ did I realize just how short my list was. Least of which was a package that looks like it only multiplexes terminals. One of the admins helping me pointed out FLWM_Topside, but I’m not really a fan of jumping cursors, and I had already selected JWM (Joe’s Window Manager).

I found JWM simplistic and appealing. I had already used it in the past as part of the MATE desktop environment, like what I’m using now. The base version is configured by a text file, which I modified by hand to display a panel at the bottom as opposed to the top. There isn’t even support for calculating that automatically!

I was also sure to remove FLWM packages from tce/optional. There are other spots where it’s left hooks for proper execution, and I’ll weed those out when I see them.

NFS Auto-Mount

Network File System: I’m getting the basics, only for TinyCore, my usual method of mounting shares gets flushed out on reboot. But I can work with the system I have. I can’t give the TinyCore people enough credit: they produced a shell script I could customize and told me how to install it.

Color Depth

Just a note, really: Color depth is a thing. The scanners I’m working with each use 16 bits to say how much of each primary color is present in a pixel. I was warned by user barefootliam on the Gimp Discord server that a XSANE plugin may only use 8 bits. I don’t know for sure at this time, but it’s worth noting.

Amusing Errors

Along the way, the system broke — a number of times even. Early on, I found how to hold Ctrl+C to close xorg as it started and to drop to the command line. Sometimes it was root, other times it was the default user, tc. Now that root has a password, it won’t let me pull that one, thankfully.

Another time, I was changing the default GIMP icons from plain white to color. It crashed JWM. I tried several times, and the result was always the same: All the window decorations around the outside were gone, and I was left with GIMP selected, unable to switch to the terminal so I could save the changes with filetool.sh -b as you do when using TinyCore. I found the sleep command and set a delay to restart JWM using sleep 15s && jwm. At first, I was adding a restart command to jwm, but without JWM running, I was left with a dud command and a brick to forcefully reboot.

Toward the end of this development cycle, I was debugging JWM and moved the config files to a separate directory and restarted the program. Yikes! Turns out it came from the tce repository with a theme of its own. Rebooting once again restored the theme to default, but didn’t solve the empty config file issue.

Future Plans

A computer system is hardly ever a static setup. When I have another SD card, I will want to look into a clean build on the aarch64 version of PiCore. Turns out I’m in the 32 bit version. My dream though is to build it on the 8 GB Pi 4 once I know what I want here.

I may not end up using a Pi at all if it just can’t keep up with my old laptop on its scanner.

Takeaway

TinyCore is a fun operating system. It may be a bit limited due to low popularity, but the community I’ve now contacted gets back pretty quickly. Just know that connections to their site are unencrypted, so if you go there, USE A UNIQUE PASSWORD! It’s just good practice anyway. Here’s a link here to the help thread I’ve been lurking in.

Final Question

What kind of long duration projects have you completed?

Leave a Reply