Installing Slarm64-current on the Pi 400
by pchristy from LinuxQuestions.org on (#5C7TE)
Although I've been using Slackware for nearly two decades, I have never used the ARM version - until now! My family bought me a Pi 400 for Christmas, so naturally I wanted the world's best operating system on it!
The task has not been straightforward, but after several false starts, I've got there. This is how...
Sarpi has very comprehensive instructions on the website: https://sarpi.fatdog.eu/index.php?p=installer
but to install slarm64, you need sarpi64 from here:https://sarpi64.fatdog.eu/
There are instructions on the sarpi64 website, and also a "readme" in the downloaded files, but the instructions on the 32-bit website are much more comprehensive, and I found them easier to follow!
I managed to get sarpi to install Slackwarearm-current without any issues, but that was only 32-bit. This seemed a bit of a waste on a 64-bit system! I tried sarpi64, but ran into some problems with Slackware's "setup" program, which refused to recognise my locally stored copy of Slarm64-current.
As a stopgap, I tried sndwvs pre-packaged system. Initially this refused to boot at all, but after some considerable help from sndwvs (many thanks!), I got it to boot, but this was only the base system. Trying to install the rest of Slarm64-current broke it again! Probably my fault, but whatever...
I therefore returned to sarpi64 to see if I could figure out why Slackware's "setup" didn't like slarm64. This turned out to be trivially simple, once I managed to locate and dissect "setup".
"Setup" calls a couple of other scripts when locating the Slackware install tree, "insusb" and "insdir". These look for very specific folder names, and slarm64 uses different ones! Renaming the folders in my local tree solved the problem!
The Pi 400 (at least, the one I have) will boot from a pendrive as well as the sd card, provided it has the right files on board. You will need a pendrive of at least 4GB capacity as the "installation disk" as well as a sd card as the destination for the install.
The destination drive will need to be partitioned. You can do this during the install using the instructions for sarpi(32), or you can do as I did, and partition it on a Linux computer. I used KDE 5's partition manager and made a 128MB VFAT boot partition, a 512MB swap partition, and used the rest of the (128GB in my case) card for the linux root partition to contain everything else. (These partition sizes are a bit of a guess, but I had plenty of space, so was generous! I think!)
You don't need to use a card this big. 32GB should be plenty, but I happened to have a 128GB card lying around, so why not?
Next create the installation disk. I used a 16GB pendrive, but any drive over 4GB should be sufficient.
First of all, install sarpi64 on it. This will make it a bootable drive, and run the "setup" program. You can get the installer from here: https://sarpi64.fatdog.eu/index.php?p=rpi4getcurk5
Instructions for how to put it on the disk are the same as for sarpi: https://sarpi.fatdog.eu/index.php?p=sdconfig but MAKE SURE you use the 64-bit file that you just downloaded!
Next copy the slarm64-current folder, and its contents, onto the same pendrive. I would recommend NOT copying the source files, or the /extra/aspell-word-lists folder to save space and time!
The setup program looks for folders with the names "slackware*-*" and the subfolder "slackware". It will NOT find the slarm64 folders unless you rename them! I renamed the top folder from "slarm64-current" to "slackwarearm64-current" and the sub-folder from "slarm64" to "slackware".
Once this is done insert the sd card and pendrive, and power up your Pi 400. It should boot up and you can then follow the the instructions as per sarpi(32).
The "setup" program will now find the slarm64-current packages, and install them just like normal Slackware.
However, ARM does not use Lilo - or anything like it - to boot, so "setup" will bail out complaining about a lack of isolinux at this stage. That's fine, just skip it and proceed to setting up the mouse, etc.
Once this is all done, you can exit the setup program, but whatever you do DO NOT REBOOT!
There are currently NO files in the boot partition, no kernels, nothing!
To make the sd card bootable, follow the instructions as per sarpi(32): https://sarpi.fatdog.eu/index.php?p=endinstall
You won't need to delete any files, as "setup" hasn't installed them, so just follow the instructions for copying the kernel and sarpi files that follow on the next page.
Once this is all done, you can unmount the pendrive and reboot.
You will initially need to log on as root and set up a few extra things (date, time, ntp, network, etc) and add a user (not a good idea to do everything as root!).
Once these have been setup, you can log on as a user, startx!
Welcome to Slackware64 on a Pi 400!
Many thanks to sndwvs and Exega for their help and answering my dumb questions!
Hope this helps anyone else who has been struggling!
--
Pete


The task has not been straightforward, but after several false starts, I've got there. This is how...
Sarpi has very comprehensive instructions on the website: https://sarpi.fatdog.eu/index.php?p=installer
but to install slarm64, you need sarpi64 from here:https://sarpi64.fatdog.eu/
There are instructions on the sarpi64 website, and also a "readme" in the downloaded files, but the instructions on the 32-bit website are much more comprehensive, and I found them easier to follow!
I managed to get sarpi to install Slackwarearm-current without any issues, but that was only 32-bit. This seemed a bit of a waste on a 64-bit system! I tried sarpi64, but ran into some problems with Slackware's "setup" program, which refused to recognise my locally stored copy of Slarm64-current.
As a stopgap, I tried sndwvs pre-packaged system. Initially this refused to boot at all, but after some considerable help from sndwvs (many thanks!), I got it to boot, but this was only the base system. Trying to install the rest of Slarm64-current broke it again! Probably my fault, but whatever...
I therefore returned to sarpi64 to see if I could figure out why Slackware's "setup" didn't like slarm64. This turned out to be trivially simple, once I managed to locate and dissect "setup".
"Setup" calls a couple of other scripts when locating the Slackware install tree, "insusb" and "insdir". These look for very specific folder names, and slarm64 uses different ones! Renaming the folders in my local tree solved the problem!
The Pi 400 (at least, the one I have) will boot from a pendrive as well as the sd card, provided it has the right files on board. You will need a pendrive of at least 4GB capacity as the "installation disk" as well as a sd card as the destination for the install.
The destination drive will need to be partitioned. You can do this during the install using the instructions for sarpi(32), or you can do as I did, and partition it on a Linux computer. I used KDE 5's partition manager and made a 128MB VFAT boot partition, a 512MB swap partition, and used the rest of the (128GB in my case) card for the linux root partition to contain everything else. (These partition sizes are a bit of a guess, but I had plenty of space, so was generous! I think!)
You don't need to use a card this big. 32GB should be plenty, but I happened to have a 128GB card lying around, so why not?
Next create the installation disk. I used a 16GB pendrive, but any drive over 4GB should be sufficient.
First of all, install sarpi64 on it. This will make it a bootable drive, and run the "setup" program. You can get the installer from here: https://sarpi64.fatdog.eu/index.php?p=rpi4getcurk5
Instructions for how to put it on the disk are the same as for sarpi: https://sarpi.fatdog.eu/index.php?p=sdconfig but MAKE SURE you use the 64-bit file that you just downloaded!
Next copy the slarm64-current folder, and its contents, onto the same pendrive. I would recommend NOT copying the source files, or the /extra/aspell-word-lists folder to save space and time!
The setup program looks for folders with the names "slackware*-*" and the subfolder "slackware". It will NOT find the slarm64 folders unless you rename them! I renamed the top folder from "slarm64-current" to "slackwarearm64-current" and the sub-folder from "slarm64" to "slackware".
Once this is done insert the sd card and pendrive, and power up your Pi 400. It should boot up and you can then follow the the instructions as per sarpi(32).
The "setup" program will now find the slarm64-current packages, and install them just like normal Slackware.
However, ARM does not use Lilo - or anything like it - to boot, so "setup" will bail out complaining about a lack of isolinux at this stage. That's fine, just skip it and proceed to setting up the mouse, etc.
Once this is all done, you can exit the setup program, but whatever you do DO NOT REBOOT!
There are currently NO files in the boot partition, no kernels, nothing!
To make the sd card bootable, follow the instructions as per sarpi(32): https://sarpi.fatdog.eu/index.php?p=endinstall
You won't need to delete any files, as "setup" hasn't installed them, so just follow the instructions for copying the kernel and sarpi files that follow on the next page.
Once this is all done, you can unmount the pendrive and reboot.
You will initially need to log on as root and set up a few extra things (date, time, ntp, network, etc) and add a user (not a good idea to do everything as root!).
Once these have been setup, you can log on as a user, startx!
Welcome to Slackware64 on a Pi 400!
Many thanks to sndwvs and Exega for their help and answering my dumb questions!
Hope this helps anyone else who has been struggling!
--
Pete