It is by no means certain that I will succeed with this effort, but I’m spending some time trying to get Oregano up on Arch.
The first step was just to get Arch booted up on oregano. My previous installation on a laptop didn’t involve an encrypted root, didn’t have raid arrays, didn’t have separate filesystems for things like /home and /var, didn’t run a web server, etc., so the first challenge is to get the system up with all that stuff.
I had an extra 120GB SSD on oregano, and I formatted it with an EFI partition (which I don’t really need on oregano since it is still an old bios machine), a /boot, a LUKS partition to hold /, and a swap. I have enough experience now with LUKS that it was no problem setting it up, but then I have to figure out how to boot off of it.
Arch has a different set of tools, including mkinitcpio instead of the dracut on fedora, and mkinitramfs on ubuntu. I actually quite like the mkinitcpio scheme they have. The one item I had some trouble with was that Arch seems to be making, or have made, the transition to using systemd within the initramfs, but while there are many references to this (comments about doing it this way if you use busybox and the other way if you use systemd), I didn’t find any good discussion about this – I had to piece it together from a number of articles. And when I finally did, of course, it is simple. You simply add systemd to the list of modules you want in mkinitcpio.conf (and remove udev) and it works. And of course I had to add modules for mdadm (called mdadm-udev), and to decrypt the luks, which is sd-encrypt, if doing systemd, and encrypt otherwise. And I had to get the grub command line set up correctly. Eventually I got all this done, and got the system up in Arch.
Next step is all the restore stuff. Fortunately I have an extensive restore script for Oregano, so it only requires changing that script. “Only”. The first big change is just to use pacman instead of dnf/yum. Then to figure out what packages I need to load. This didn’t prove too difficult. There were quite a lot of little things that needed to be fixed in the script, but most of it was straightforward.
Maria/Mysql is a bit of a challenge, mostly because what I have done for backing up databases on Oregano has never been very well done on Oregano (there have always been very few real databases on Oregano) and it is time to fix that. I had a learning experience recently rebuilding the databases on tarragon, and I need to replicate that. However, I changed the whole backup structure on tarragon, so although some of the ideas are right, it doesn’t import cleanly. I created a new clean subvolume for maria on oreganodata to use from the arch side. I also fixed the oregano backup scripts to save the mysqldump files for the databases, and to save the grants (see post about percona toolkit). I also had to revise the my.cnf.d scripts, the ones I was using under Fedora didn’t work. I just took the standard ones and added a few things, like max packet size, and restricting the logons to the internal network.
I changed the graphics driver to the nvidia proprietary driver. This was extremely easy in arch – no messing around with downloading the drivers from nvidia and all that stuff, and no need to mess with dkms. Arch packages the nvidia driver as a pacman package, it just has to be installed. Wow. I did have to set nomodeset on the grub command line, just as I have to do with Fedora.
The printer driver had to be obtained from the AUR (the Arch User Repository). This is well documented. One downloads a collection from the AUR which includes a PKGBUILD file, which is like an ARCH makefile to build a pacman package, and then from within that directory run makepkg -si (s to sync dependencies, and i to install).
I had a little trouble with the firewall. I had moved the Fedora installation to firewalld, but naturally Fedora had installed some fedora specific stuff that I had to track down and get rid of. This is in the nature of normal Fedora efforts to improve on upstream stuff. It wasn’t difficult – firewalld comes pre-configured with an internal (or home) zone, and I just used that. I still had some stuff in the old oregano restore script and the oregano startup script that were trying to do things with my old iptables firewalls, but once I found that and got rid of it, the firewall seems to work. The firewall on oregano is a nicety anyway – the real SPF stuff is going on on the routers.
I stopped writing this and never published it. In the meantime, I’ve lost track of the many things I’ve done to make Arch work as my primary desktop. There haven’t been any huge obstacles, but a fair number of little ones – mostly they turn out to be a need to install some additional piece of software.
Oregano is now running on Arch, and I am getting on with stuff, fixing issues as they show up. I haven’t yet reformatted my Fedora boot disk, but the possibility of going back recedes gradually into the mist.