by Joshua Branson — August 09, 2023
My friend ownes a Talos II, and he wanted some help setting it up. We have decided on setting up Chimera Linux. Since Chimera Linux is new, we also installed the guix package manager as well. This blog post today is more of documentation and less story telling. You have been warned.
upgrading chimera linux
doas apk update
doas apk upgrade
DONE Getting X applications and gdm to run on chimera
All Talos II machines have trouble running X, when a discrete GPU is installed. Basically the Talos II has an on board GPU, which when combined with an AMD GPU, X does not know which GPU to use. click here to read more on the raptor wiki.
I did have trouble getting my friend’s Talos II to start gdm and X, but an update to chimera linux fixed the gdm issue. The below sections are for others that are using a Talos II with an AMD GPU. You do need to configure X to disable the onboard GPU and/or tell GDM to select a GPU at runtime.
raptor pdf user’s guide:
https://wiki.raptorcs.com/w/images/e/e3/T2P9D01_users_guide_version_1_0.pdf
raptor wiki ways to fix this
- Tell GDM to ignore a GPU
In this case ignore the crappy onboard GPU.
lspci | grep VGA
0005:02:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 41)
0030:01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro WX 7100]
cat /etc/udev/udev.conf
# see udev.conf(5) for details
#
# udevd is also started in the initrd. When this file is modified you might
# also want to rebuild the initrd, so that it will include the modified configuration.
#udev_log=info
#children_max=
#exec_delay=
#event_timeout=180
#timeout_signal=SIGKILL
#resolve_names=early
TAG-="seat", ENV{ID_FOR_SEAT}=="drm-pci-0005_02_00_0"
TAG-="seat", ENV{ID_FOR_SEAT}=="graphics-pci-0005_02_00_0"
Do this to re-generate the initramfs.
`doas apk fix linux-lts`
Xorg will not start / crashes when a discrete GPU is installed
We chose to do the workaround 2: select a desired GPU at runtime, which means that if we change the slot of the GPU, then we will have to re-create the Xorg configuration file.
lspci | grep VGA 0005:02:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 41) 0030:01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro WX 7100] cat /etc/X11/xorg.conf.d/21-gpu-driver.conf # AST2500 Section "Device" Identifier "GPU0" Driver "modesetting" BusID "PCI:2@5:0:0" VendorName "ASpeed Corporation" EndSection # WX7100 Section "Device" Identifier "GPU1" Driver "modesetting" # or amdgpu if you have xf86-video-amdgpu installed BusID "PCI:1@48:0:0" VendorName "AMD Corporation" EndSection # this is absolutely necessary, it tells xorg which GPU to use for the screen Section "Screen" Identifier "Screen0" Device "GPU1" EndSection
upgrade the openBMC bios/firmware and disable onboard GPU via
I decided not to do this one. It's way too complicated. See the raptor wiki if you don't believe me.
Where to find X logs
var/log/gdm/greeter.log /var/lib/gdm.local/share/xorg/Xorg.1.log
toggling gdm to use X/wayland
This does not appear to work.
cat /etc/gdm/custom.conf | grep 'Wayland'
#WaylandEnable=false
WaylandEnable=true
DONE install icewm, and put that in ~/.xinitrc & startx
Originally this did not work, because X refused to start. But after I upgraded Chimera linux one day, it worked.
Setting up Bitcoin knots/bitcoin core
My friend is an avid bitcoin user. He wanted me to help him set up bitcoin on his Talos II. If possible, he wanted me to set up bitcoin-knots, which was forked from bitcoin-core.
github repo for bitcoin-knots
The github repo has lots of good information to help me out:
https://bitcoinknots.org/#download
https://github.com/bitcoinknots/bitcoin
https://github.com/bitcoinknots/bitcoin/tree/23.x-knots/doc
https://github.com/bitcoinknots/bitcoin/blob/23.x-knots/doc/build-unix.md
https://github.com/bitcoinknots/bitcoin/blob/23.x-knots/doc/build-freebsd.md
https://github.com/bitcoinknots/bitcoin/blob/23.x-knots/doc/dependencies.md
I can get help from webchat.freenode.net #bitcoin-dev
luke-jr says that I can compile bitcoin knots from source fairly easily.
download a release. Install dependencies:
https://download.qt.io/official_releases/qt/
doas apk add libevent
./configure gmake && gmake check && gmake install
NO Packaging bitcoin knots for chimera linux
q66 is NOT ok with me packaging bitcoin-coin for chimera linux, because it depends on qt5, which is soon to be replaced by qt6. So why bother packaging qt5 when qt6 is soon to supplant it?
This is the documentation for packaging in chimera.
https://github.com/chimera-linux/cports https://github.com/chimera-linux/chimerautils
Alternatively I can package bitcoin knots for guix and install
guix on chimera linux. And guix already has qt packaged. Do they have 5.15.2 packaged? Why yes they do: They have qtbase version 5.15.8.
I have not packaged bitcoin-knots for guix yet. Instead my friend decided to run bitcoin-core.
DONE Or I can just install bitcoin-core from guix and run that
guix stuff
installing guix on chimera linux
You can install guix via these commands:
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
doas chmod u+x guix-install.sh
doas ./guix-install.sh
Add in the export line so I can use the guix binaries.
cat ~/.profile
#!/usr/bin/bash
export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
gnome-shell --wayland
starting the guix daemon manually
~root/.config/guix/current/bin/guix-daemon –build-users-group=guixbuild
set up guix daemon via dinit
cat /etc/dinit.d/guix-daemon
# guix-daemon service
type = process
# run this command as root
run-as = root
command = /root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild
# depends-on = bar
# waits-for = baz
# uncomment this next line once you know this works
# before = login.target
before = network.target
https://davmac.org/projects/dinit/man-pages-html/dinitcheck.8.html
https://davmac.org/projects/dinit/man-pages-html/dinit-service.5.html
So if you cannot get the daemon to autostart, then this will
doas dinitctl start guix-daemon
work.