Irradium on visionfive 2 questions

Now with the help of mara I was able to get this to boot and “run”. However a lot of things on this system don’t make any sense to me and I can’t find any information about it either (trying to google search this system at best leads to the patreon page which ranks higher than the homepage itself :smile: )
So anyway I went with the irradium-3.7-riscv64-xfce-visionfive_2-6.6.16-build-20240210.img image and it started up with the same errors mara showed in the example given (nice!).
Now to the issues I’m facing:

  • none of the provided scripts like /boot/ or transfer-to-disk actually work
  • since it is based on CRUX I tried to use their documentation for an initial setup which doesn’t work since the default scripts aren’t included
  • the CRUX documentation on their own package manager is rather lackluster I think

So to dive into more detail:
This command fails with

# ./
select kernel: 6.6.16
kernel: 6.6.16
select modules: ext4:xfs:btrfs
modules: ext4:xfs:btrfs
Started build uInitrd-6.6.16
Creating initrd.img-6.6.16...
WARNING: missing module ext4
modprobe: FATAL: Module xfs not found in directory /lib/modules/6.6.16
WARNING: missing module
WARNING: missing module btrfs
modinfo: ERROR: Module xfs not found.
cp: target '/tmp/initrd-work.qufhvJxZuM/lib/modules/6.6.16': No such file or directory
depmod: ERROR: could not open directory /tmp/initrd-work.qufhvJxZuM/lib/modules/6.6.16: Not a directory
depmod: FATAL: could not search modules: Not a directory
./ line 60: mkimage: command not found

so mkimage seems to be missing or isn’t configured in PATH? Hard to tell since the package management is still a mystery to me.

Now this one has even more issues. First it tries to use the wrong device to transfer the data to. It tries to point to /dev/nvme0 while it should point to /dev/nvme0n1
Furthermore it also seems to expect a command msginfo iirc that isn’t present.
Also also, I simply tried to hardcode the device name into the script since all the regex went a bit over my head on a late evening which then kind of works, however it created a weird effect in the boot process in that it’d mount the SD cards /boot/ to load the kernel and then mount the nvme0n1 partitions for the rootfs (now that might have been purely on me though ^^')

Package Management
as I’ve said I did go through the CRUX documentation on their package management and while the repo layout is simple enough CRUX itself seems to use a setup script to guide the user through the initial setup. Furthermore they seem to expect to have a “full distribution” on a removeable media much like old days Slackware did which obviously isn’t present here since we’re missing a couple of tools.
They also don’t spend a minute to explain if this package management system is able to pull from remote mirrors which I’d hope since trying to keep their own stuff + a whole ports repository on an SBC sounds like a rather impossible task. (I suspect ports here is like pkgsrc on netbsd? Sounds like it at least).

Now I hope I’m not too annoying, but this is the first time ever I’ve been completely lost in a Linux System :flushed: compared to just a little bit lost when things I didn’t think about happen :stuck_out_tongue_winking_eye:


/boot/ is a script for rebuilding the initramfs for a new kernel or new modules.
you need to install u-boot-tools

prt-get -if -is -im depinst u-boot-tools

transfer-to-disk this script does not support these boards.

The package manager is as simple as in slackaware, one difference is the sourcebase distribution that installs packages from source codes. for installation there is pkgmk or prt-get depinst <package>. installation and updating of binary packages using the pkg-get utility, rewritten by me for myself, downloads and installs binary packages with dependencies, provided that they are compiled.

the kernel package can also be installed in slarm64