Migration from Arch
Set your Pacman-based GNU/Linux distribution free!
Contents
1 Preparation
Ensure that your current system is fully up-to-date.
# pacman -Syu
2 Migrate the system to Parabola
2.1 Install Parabola keyrings and mirror list
Disable signature verification manually by modifying the line in /etc/pacman.conf:
SigLevel = Never
Install the keyrings and mirror list for free repositories:
# pacman -U https://www.parabola.nu/packages/libre/x86_64/parabola-keyring/download # pacman -U https://www.parabola.nu/packages/libre/x86_64/pacman-mirrorlist/download
Re-enable signature verification in /etc/pacman.conf:
SigLevel = Required DatabaseOptional
Rename mirrorlist.pacnew as mirrorlist:
# cp -vr /etc/pacman.d/mirrorlist.pacnew /etc/pacman.d/mirrorlist
2.2 Configure pacman
$ wget https://git.parabola.nu/abslibre.git/plain/libre/pacman/pacman.conf.$(uname -m) # cp /etc/pacman.conf /etc/pacman.conf.orig # mv pacman.conf.$(uname -m) /etc/pacman.confThis section describes the manual configuration process, for completeness.
Add the [libre] repo above all standard Arch repos in /etc/pacman.conf:
... [libre] Include = /etc/pacman.d/mirrorlist ... #[testing] #Include = /etc/pacman.d/mirrorlist ... [core] Include = /etc/pacman.d/mirrorlist ...
Add any optional repos above [libre] in /etc/pacman.conf (see Repositories):
... [pcr] Include = /etc/pacman.d/mirrorlist ... [kernels] Include = /etc/pacman.d/mirrorlist ... [nonprism] Include = /etc/pacman.d/mirrorlist ... [nonsystemd] Include = /etc/pacman.d/mirrorlist ... [libre] Include = /etc/pacman.d/mirrorlist ...
The following must be satisfied for these keystone repos (and their *-testing counterparts):
- [nonsystemd] and [nonprism] must be above all standard Parabola repos (libre|pcr)
- [libre] must be above all standard Arch repos (core|extra|community))
2.3 Replace non-free packages with Parabola liberated versions
Clean the pacman cache:
# pacman -Scc
Force the database refresh:
# pacman -Syy
Update the keyring:
# pacman-key --refresh
Sync the system with Parabola and install your-freedom. This will remove non-free packages and install libre replacements.
- For a parabola/systemd system:
# pacman -Suu your-freedom pacman
- For a parabola/openrc system:
# pacman -Suu your-freedom pacman libelogind udev-init-scripts
Install the optional your-privacy package to block privacy disrespecting network protocols (see Nonprism):
# pacman -Suu your-privacy
2.4 Update bootloader configuration
Please update either GRUB or Syslinux, but not both, as it would cause a kernel panic.
2.4.1 GRUB
For grub regenerate your grub.cfg file running:
# grub-mkconfig -o /boot/grub/grub.cfg
2.4.2 Syslinux
Manually change following lines in /boot/syslinux/syslinux.cfg to reflect change:
- For generic kernel,
LABEL parabola MENU LABEL Parabola GNU/Linux-libre, with generic kernel LINUX ../vmlinuz-linux-libre ... INITRD ../initramfs-linux-libre.img LABEL parabolafallback MENU LABEL Parabola GNU/Linux-libre fallback, with generic kernel LINUX ../vmlinuz-linux-libre ... INITRD ../initramfs-linux-libre-fallback.img
- For hardened kernel (linux-libre-hardened),
LABEL parabola MENU LABEL Parabola GNU/Linux-libre, with hardened kernel LINUX ../vmlinuz-linux-libre-hardened ... INITRD ../initramfs-linux-libre-hardened.img LABEL parabolafallback MENU LABEL Parabola GNU/Linux-libre fallback, with hardened kernel LINUX ../vmlinuz-linux-libre-hardened ... INITRD ../initramfs-linux-libre-hardened-fallback.img
- For LTS kernel (linux-libre-lts),
LABEL parabola MENU LABEL Parabola GNU/Linux-libre, with LTS kernel LINUX ../vmlinuz-linux-libre-lts ... INITRD ../initramfs-linux-libre-lts.img LABEL parabolafallback MENU LABEL Parabola GNU/Linux-libre fallback, with LTS kernel LINUX ../vmlinuz-linux-libre-lts ... INITRD ../initramfs-linux-libre-lts-fallback.img
Alternatively you can remove the configuration file and reinstall syslinux.
2.4.3 Other
3 Finalize the migration
Restart your system now and choose the "Parabola GNU/Linux-libre" entry from the boot menu. If you would like to install new packages or configure the system, do so after rebooting into the Parabola system.
4 Hardware compatibility and Trouble-shooting
If you have any trouble applying the instructions above, please report it on the Parabola Documentation Bug Tracker or the Assist Mailing List; or if you find a better way, edit this wiki article!
If you notice that some hardware is not working after installing your-freedom, this is most likely because there is no free-software driver or firmware available for that device (check dmesg) for '/*(DEBLOBBED)*/'. For the most notorious example, it is common for wireless Ethernet (WiFi) devices to require a firmware to be loaded into the card. Many will not work at all if the firmware is missing. The firmware for WiFi cards is most often proprietary, thus Parabola does not distribute it.
The usual solution for incompatible WiFi hardware is to replace the card (or use an external USB WiFi dongle). or connect your PC to the internet with wired Ethernet. Not only is wired Ethernet most likely to "just work", but it is also the option with the best performance and reliability. If your computer is a desktop, this is the "no-brainer" option; but most laptops can take advantage of this as well. If, for some reason, you must use Wi-fi and your device is not supported, the most compatible WiFi replacements are those with the Realtek RTL818x chipset and generally, those with an Atheros chipset since free firmwares exist for those.
This is not unique to wireless networking devices. You may encounter other hardware that has similar freedom issues. This is especially true for the newest hardware and non-essential, un-common, or specialized niche hardware such as high-end graphics cards and pro-audio interfaces. Free software hardware drivers are most often not written by the manufacturer with complete knowledge of the device's inner workings, but painstakingly, through experimentation by volunteers who have that particular device at hand and want it to work for their own purposes. For this reason, it can not be expected that new or rare hardware to have free drivers. If the device in question is widely available and generally useful, it will probably have a free driver written for it eventually; but that takes a good deal of time and effort. You will find that in most cases, hardware models that are a few years old are perfectly adequate and the best option for most people. Unless you have some specific need for a bleeding-edge or specialized hardware device (most people do not), they are best avoided for simplicity sake.
The best resource for determining if your hardware is compatible with fully free software is the h-node database. Certain devices that are known to be incompatible with freedom may be explicitly on the Linux-libre device blacklist. The h-node database was created and is maintained by the community. For the benefit of others, do feel free to add your hardware to the database if it is working on Parabola but is not yet listed. To make this as easy as possible, there is the user-friendly h-client desktop application, which can assist with identifying your computer's hardware, searching the h-node database for suggestions, and adding your compatible devices to the database.