Slackware image for DevTerm R01

May I ask what programs you are running in those screenshots?

Sure.

The first status monitor (upper-right in the first screenshot) is gkrellm, using the config that that comes with the cpi user in the official image (and in this one), though I tweaked the font. It’s nice, it’s even got a network mode so that you can monitor remote systems with it (gkrellmd and gkrellm -s $other_machine). The one on the right side of the second screenshot is conky. conky is a little strange and takes a minute to configure, but it is more flexible overall (and since it draws to the root window, it plays a little nicer with ratpoison). I’m using it on the DevTerms/uConsole because it’s a little easier to incorporate random shell scripts in them, so I can call a script that gives the battery info or backlight level. The terminal emulators are all urxvt.

The stuff running on the left in the second screenshot is all Plan 9 stuff, the window is a drawterm window talking the a Plan 9 box. stats is pretty similar to gkrellm (and is monitoring the Plan 9 machine rather than the DevTerm), ip/gping in the lower-left is just a graphical ping that I was using to fill the screenshot. The P9P stuff included in the image has a port of stats, but it looks like some of the text is a little glitchy. (Maybe a P9P bug, maybe a portability bug, no telling.) Here’s a screenshot with an oversized stats window on the left (stats -lmEsi, though the syscall counter doesn’t work on Linux), netsurf-gtk2 viewing an on-device wiki in the upper right (I have been running AwkiAwki on the DevTerm because it’s very fast, so it’s easy for taking notes and then sharing them with anyone on the LAN), and then nethack in the lower-right. gping isn’t included in P9P, but you need root to make ICMP packets in Linux anyway.

A lot of the stuff I do with the DevTerm is remote: either drawterm to talk to Plan 9 or ssh to talk to a Linux machine. Ironically, because a regular browser is nearly impossible to cope with on the R01, the R01 feels like a bigger world than the A06.


Sometimes screen remains black after boot sequence (A04 standard OS image)

Is there anything in the X logs?


Slackware image for DevTerm R01

R01 ordered. OK, I already had one, but it is in my uConsole…

Ah, cool. I ordered a uConsole with an R01 and then swapped it into the DevTerm and put the CM4 into the uConsole.

Thanks for the screenshots! So pretty in orange.

Oh, thanks, it felt very nostalgic for me when I first booted the R01 and saw the orange.

Do you have a more precise breakdown of your procedure, so that it could be reused for uConsole?

So, I tried swapping microSD cards around and except specialized stuff for the Ext boards (printer or 4G modem) and the framebuffer rotation args set in the bootloader, the images are nearly the same. That is, this image should boot in a uConsole but the screen will be turned around.

That having been said, the process was nothing complicated: I used dd iflags=fullblock bs=1M count=256 to copy the initial 256MB from the official R01 image so that the bootloader would require no changes. (The partition layout is a little strange on the R01 image: Create DevTerm R01 OS image from scratch · clockworkpi/DevTerm Wiki · GitHub . I don’t know if there is a reason, but I wanted to debug as few things as possible. There’s also an offset required, like the init code looks at a fixed offset into the SD card, so you have to avoid putting a partition there.)

After that, I deleted and recreated the fourth partition, then unpacked the slarm64 installer and chrooted. I had no luck getting the installer to accept what I was doing, so I just did installpkg --root /mnt on the packages that I wanted to install (dependencies were guessed at, which is why a couple of them were missing), and then rsync’d the /lib/modules from the official image, because I was using the official kernel. (Since the dd had already covered the “lead-in” and the first two partitions, the kernel in /boot was the same.)

After that it was more or less like setting up any other system: tweaks to /etc/fstab, things like that. Then setting up the DevTerm-specific stuff, and eventually tried to boot it. Luckily it worked on the first try.


Slackware image for DevTerm R01

Oh, I took a couple of screenshots. I don’t know if it is something in slarm64 or if it’s because I kept the kernel from the official image, but neofetch seems to think it’s Armbian.

ratpoison is a really great fit for the DevTerm: no wasted space. (I usually just do one window instead of splitting like in the screenshots, so just what I am working on plus conky.) Anyway, I should be able to repackage the DevTerm-specific bits soon, including, e.g., yatli’s graphics acceleration patch.


Slackware image for DevTerm R01

Oh, really? That’s very cool!

The R01 is really fun so far. I love ARM, and I’ve been using it for a very long time, but I got a really nice feeling after I started playing with the R01 a bit.


Slackware image for DevTerm R01

The ClockworkPi code (audio patch, printer daemon, etc.) was coalesced into a single Slackware package.

…Which I appear to have left off the image. Learning experience. :wink:

I will upload a fix tonight when I’m done for the day, or probably tomorrow.


Slackware image for DevTerm R01

[Edit 2023-11-10: See below for extra packages.]

This is nothing special: I just used the slarm64 nezha packages to build the image. I wanted a clean(-ish) starting point for the CRUX image I am doing next. It boots, it rotates the framebuffer correctly, drivers and all the CPi-specific bits are included, everything seems to work fine. [Edit: see the edit at the bottom: it requires a bit of tweaking before it works fine, depending on your definition of “fine”.]

A summary of things that differ from vanilla Slackware:

  • The ClockworkPi code (audio patch, printer daemon, etc.) was coalesced into a single Slackware package.
  • init scripts ported from systemd to sysvinit.
  • /usr/src/DevTerm has the contents of the git repo, so the code is all available if I messed anything up. There’s a handful of stuff in /usr/src.
  • Partition layout, bootloader, and kernel were done by just copying the first 128MB from the official image, and then rsync’ing /lib/modules from the official image.
  • Kernel is as in the official image.
  • Partition resizing is left up to you, so if you want to split / and /home, feel free. (I figure anyone interested in Slackware on RISC-V knows how, but the partition layout is a little strange, so make a note of the starting block for partition 4, delete it, make a new one with that starting block.) The image is a little under 8GB.
  • Instead of passing --autologin to agetty(8), it just gives you a login prompt. root and cpi both have the password cpi.
  • Some miscellaneous Plan 9 tools: /usr/local/bin/drawterm and p9p in /opt/plan9. (Haven’t attempted a native Plan 9 image but I suspect it would work great aside from the lack of Plan 9 drivers for, e.g., wifi chip.) If you have a venti server set up, you can save yourself a lot of wear and tear on your SD card by setting up fossil to run out of /tmp.
  • /home/cpi is set up as in the official image, with twm and orange-on-black gkrellm and everything.
  • I loved the orange look from the official image (my first computer had a Hercules monochrome CGA card and monitor, which was already very old by the time I got it), so /etc/issue sets the terminal colors to amber monochrome colors. Feels really nice. (I did the same with my ~/.Xdefaults and ~/.conkyrc; ping me if you are interested.)
  • Most of the package selection is coder-centric (slow but cool experimental CPU in a cyberdeck, I am guessing everyone that got an R01 got it for the love of the game), compilers and stuff.
  • Most of the available editors are small to keep the image size down, elvis for the vi, joe for emacs, acme and sam are available in /opt/plan9/bin. slackpkg install your large editor of choice if those don’t work. (Ken Thompson still uses sam, though!)
  • Retained CPi tradition of echo $message|figlet>/etc/motd, but it’s appropriately wide-screen.

Other than that, it is vanilla Slackware.

I booted it up to test it before dumping the image, and then shrank it, so you will want to clear out the ssh keys before starting sshd (same as the official image): sudo rm -fv /etc/ssh/*key*.

I recorded the entire process in screen, so any questions about what I did, I can answer, but may not be able to remember why I did it. :wink: This image is a one-off: I’ll be doing a CRUX image after this and probably also CRUX for the A06 after that, or since the hard work has been done for Plan 9 on RPi, maybe a Plan 9 image for the CM4, but I will probably be moving slow since I have a lot of projects (some of which rely on being able to use my DevTerm) and also have to work. (Building a new OS image is a nice background task, since there is a lot of waiting. I started a CRUX image but fried the microSD card it was on, and figured that making a Slackware image where it was mostly downloading precompiled packages would be faster than recompiling everything. Thanks to the slarm64 project for producing RISC-V packages! slarm64 - unofficial slackware port for aarch64 / riscv64 architecture )

Tor link: http://s3ldbb3l5eqd6tjsklzmxy6i47i3fim55fpxmgeaa6rvpcllkt4ci4yd.onion/r01_slackware.img.bz2
IPFS: ipfs://bafybeihoiuobwvosy4dlxjkgophbgizq5gyyi6p7jxgh4tanjbdy73aose
Regular web (IPFS gateway): https://dweb.link/ipfs/bafybeihoiuobwvosy4dlxjkgophbgizq5gyyi6p7jxgh4tanjbdy73aose
Regular web (kinda; another P2P gateway): https://media.freespeechextremist.com/rvl/full/17b30212e33512e8aa6e861a4adb9744b4a70a7b2d6febab72df4b0816f2f0e8

MD5: 45a326a7e5f6447c6804510c935f8e4d
SHA256: 0f312c779dbc376c7985d0fb9e60026cccd441b7769d6ece05bc6668d7c06402

Also, the DevTerm extras package, most of which you could get by compiling the code in /usr/src/DevTerm/Code, along with a few trivial translations of the systemd init scripts into sysvinit scripts:
Tor: http://s3ldbb3l5eqd6tjsklzmxy6i47i3fim55fpxmgeaa6rvpcllkt4ci4yd.onion/devterm-r01-extras-0.1-riscv64-2.tgz
IPFS: ipfs://bafkreicj2pf6oprjj4ryilaudeljze4aicztetk5aylduiac74afvm5csi
IPFS gateway: https://dweb.link/ipfs/bafkreicj2pf6oprjj4ryilaudeljze4aicztetk5aylduiac74afvm5csi
Web: https://media.freespeechextremist.com/rvl/full/d551acb007301de3c0fce683304b9364afcf2bd386531c5060b717775617d9a0

ALSO, Here is yatli’s port of the fbturbo graphics accelerator, including init script, source, etc. I took the liberty of statically linking the daemon.
Tor: http://s3ldbb3l5eqd6tjsklzmxy6i47i3fim55fpxmgeaa6rvpcllkt4ci4yd.onion/xf86-video-fbturbo-r01yatli-0.2-riscv64-1.tgz
IPFS: ipfs://bafybeiafuixsxadgesa7mnppg7ey3c3ou6bhqqmxj52thljofop4pc7r64
IPFS gateway: https://dweb.link/ipfs/bafybeiafuixsxadgesa7mnppg7ey3c3ou6bhqqmxj52thljofop4pc7r64
Web: https://media.freespeechextremist.com/rvl/full/348141e7f0cb2f9d94e24a104bc347e17e5cbc923b520409d466d6fd52767fe2

[Edit: It works fine once you bring up wifi (short version: sudo vi /etc/rc.d/rc.inet1.conf, enable wlan0 by uncommenting IFNAME[4]="wlan0" on line 152, then USE_DHCP[4]="yes" below that, then WLAN_WPA[4]="wpa_supplicant" on line 166, edit /etc/wpa_supplicant.conf to add your network, then either reboot or do sudo /etc/rc.d/rc.inet1 wlan0_start) and then install some missing pieces that I erroneously trimmed in an effort to get the image size down: slackpkg install libICE libSM libnghttp2 libXpm python-Jinja2 python-PyYAML fribidi pangomm pango cairomm cairo cmake extra-cmake-modules gtk+2 glib2 startup-notification gdk-pixbuf2-xlib gdk-pixbuf2 libwacom xsm libusb libusb-compat sqlite icu4c libxml2 graphite2 brotli harfbuzz. Pango/Cairo/gtk are needed for gkrellm, libnghttp2 is needed for git, startup-notification is needed for urxvt, and X refuses to start unless you have installed the Wacom driver, for some unholy reason. I don’t know how necessary some of the other ones are but If you’re having trouble waiting for that stuff to download, try installing bsd-games first so you can do fortune -a while watching the progress bars. If you’d prefer to use wpa_gui to configure your network than to edit /etc/wpa_supplicant.conf, you can write the image to the SD card and fetch the packages directly from the slarm64 repo.]


Raspberry Pi OS 64bit Lite for DevTerm CM4 - image file

I’m glad you find it useful!

Definitely.

CUPS printing, fan daemon, keyboard firmware) are packaged for Debian-based distros.

Yeah, I know about those; the Debian-centric part is somewhat painful.

Probably the Arch and Manjaro images you mention are the ones made for A0406 DevTerms

Oh, yeah, you are right. Apologies. It was for the A06 and from yatli, he’s around the forum a lot: GitHub - yatli/arch-linux-arm-clockworkpi-a06: Arch Linux ARM for the ClockworkPi DevTerm A06 . (Most of the time someone has done something like that, either yatli or emutyworks will be somewhere in the thread, often the person that did it. emutyworks is trying to get FreeBSD running on the R01: Home · emutyworks/DevTerm-R01 Wiki · GitHub .)

which in theory shouldn’t feel so difficult but for me it is

Haha, I feel exactly the same way, that’s why I was asking: it looks like it shouldn’t be difficult and it seems like most people think it’s relatively obvious stuff, but I feel like I’m missing something (especially around booting), so I ask around a little. Fan and printer support aside, I’ll be happy if I can get it to boot and turn on the screen, at least at that point it’s easier to debug without clipping resistors off the Ext board ( DevTerm R-01 Ext Board UART is read only? - #2 by smaeul ).

Edit: I did manage to get Slackware on the R01 to work properly and have been running it since: Slackware image for DevTerm R01 - #5 by 1337p337


Can I put a CM3 in a A04 Devterm

Yes, the cores are swappable. If you get CPi’s carrier board for the CM4, you can put a CM4 in it, too. The R01 is a RISC-V chip (Allwinner D1), not even ARM like the A04/A06 and works in the same hardware, the uConsole and the DevTerm. It’s really cool, I have swapped cores between devices.


Raspberry Pi OS 64bit Lite for DevTerm CM4 - image file

Thanks for this, it’s great!

don’t want to/don’t know how to modify the original image to make it work

Impossible to solve “don’t want to” but “don’t know how to” is easy to fix with some links, I suspect. I didn’t know that anything needed to be done, I thought most images should work out of the box with a few tweaks for screen orientation, etc. (Though I have had no luck getting the 9pi image to run, and have been using the DevTerm too much to spend much time hacking the device itself; R01 core arrived and I have started playing with building a CRUX system inside a Slackware chroot, but it is slow going.)

I can only find the official images

I think there’s an Arch image kicking around, and a Manjaro one.


DevTerm Shipping Timeframe

When I ordered my DevTerm last year, that’s how the shipping time was described. The chip shortages pushed it a little longer, but it wasn’t too bad. (NB., “Business days”, so closer to 90 calendar days.)

Since they are still catching up with the uConsole orders, it wouldn’t surprise me if it took longer. CPi is great, but not fast.


Update: uConsole shipping related

Giant markup, A04 (which is not offered any more), “Sold by […] New Seller”. This is a scam.


Update: uConsole shipping related

Yeah, I ordered a DevTerm mid-September of last year and it arrived mid-January. Of course, the uConsole was announced just a month after that; I hesitated to order for about a day because I had just ordered a DevTerm and was still waiting, but I figured that since it was a pre-order it would take a long time. So it was a long wait, but the timing was fine for me, by coincidence. My DevTerm still feels new, though I’ve been using it every day.

Though I suppose you could find a used PocketCHIP

Ah, that’s how I found the DevTerm: someone had posted photos of their PocketCHIP and I was excited about it, asked where to get one, and at least two people recommended I check out the DevTerm. I’m glad they did.


Can uConsole be usable as a personal computer?

Ah, yeah. My normal keyboard is the HHKB and the Fn key mappings match most of the HHKB’s. The trackball didn’t bother me too much, worked fine more or less, but I use ratpoison instead of a DE (not a very mousey UI) and most of the coding I do is either acme (somewhat mousey editor) or vi. I did stutter some when writing SQL or chatting with people, but for the most part, I’m close enough to regular typing speed on it that I can stop noticing the keyboard.

I have some WiFi troubles on mine, so I’m using a USB WiFi dongle until I get around to fixing it.

Assuming it’s not all due to the complicated setup, there was a thread somewhere around here about the CM4 defaulting to using the onboard antenna and ignoring the one that is actually plugged into the board, which makes a bigger difference on the metal-bodied uConsole. Apparently, that can be toggled with a kernel parameter: sudo sh -c 'echo "dtparam=ant2" >> /boot/config.txt'. (There was some elaboration in the thread but I don’t remember which thread.)


Update: uConsole shipping related

Shipping notification! 197xx! Very excited!


Can uConsole be usable as a personal computer?

I don’t have a uConsole yet (still waiting) but I can say that I had to go out of town for a week and I took a DevTerm and only needed that the entire time. I’m a programmer, so I think with the uConsole, the smaller keyboard would make it trickier to use full-time without a keyboard/mouse, but I think I’d be fine using it as my main desktop with that (probably also a monitor).

Photographers have a saying, “What’s the best camera? The one you have with you.” The idea is that if the alternative is not taking the photo, any camera works, so it’s good to have one you can always carry. That’s the thing I expect I’ll like about the uConsole: it’s small enough that you can always have it with you.


The forum is so quiet, how many users has received the shipping notification?

You can’t be certain of that, just how many orders are in the queue.


The forum is so quiet, how many users has received the shipping notification?

I ordered the uConsole October on October 27 (UTC, though I’m in the US, so it was still the 26th for me) and my order number is 197xx. I had placed another order October 18, a while before the uConsole announcement, and it was 189xx. I think the earliest I had seen for uConsoles was 190xx (looks like @Kumasun / @GreenAcres / @John_Kennedy ordered the first day; I hesitated a day because I was still waiting for my DevTerm), so in the first two days there were at ~700 orders. If @adcockm is 201xx on November 3, then there were ~1100 orders in the first nine days. (Very high volume for a small shop, no surprise that they are extremely busy! I hope the margins were high enough that they can afford to stay in business and expand; I got nervous when they moved to a more expensive shell.)


Update: uConsole shipping related

I ordered on the 26th also. Very excited!


Update: uConsole shipping related

I’m just very excited still. I’m sorry to hear about the customs troubles (hope it gets solved) but mainly I’m still just extremely excited. It’s a very cool device, ClockworkPi has a very cool team, the DevTerm feels like it was made for hackers and I cannot put it down, I spent a week out of town visiting sick family and I could still work from the hospital all day (regrettably forgot to bring my SDR dongle, that might have been fun, but the hospital had good wifi), and I expect to love the uConsole when it arrives, too.

(There are a lot of negative posts. I am still excited about the device and still excited whenever I check this thread.)


What do you want to do with your uConsole?

That is very cool! Coincidentally, I have the same SDR. What are you using for ADS-B? (I’m very new to SDR.)

Edit: Found it: it’s called “dump1090”. It’s by Antirez, he’s really cool!