Migration from Arch ARM
Free your Arch ARM (armv7h only at the moment) to Parabola GNU/Linux-libre!
Contents
1 Complete migration
1.1 Install Parabola keyring and mirror list
Disable signature verification manually by modifying the line in /etc/pacman.conf:
SigLevel = Never
Install the keyrings and mirror list:
# pacman -S archlinuxarm-keyring # pacman -S archlinux-keyring # pacman -U https://www.parabola.nu/packages/libre/armv7h/parabola-keyring/download/ # pacman -U https://www.parabola.nu/packages/libre/armv7h/pacman-mirrorlist/download/ # pacman -U https://www.parabola.nu/packages/core/i686/archlinux32-keyring-transition/download/
Re-enable signature verification in /etc/pacman.conf:
SigLevel = Required DatabaseOptional
To be able to install packages you have to initialise the pacman keyring:
# pacman-key --init # pacman-key --populate archlinux archlinux32 archlinuxarm parabola
At this point make sure /etc/pacman.d/mirrorlist contains only Parabola mirrors.
# more /etc/pacman.d/mirrorlist
# cp /etc/pacman.d/mirrorlist.pacnew /etc/pacman.d/mirrorlist
1.2 Replace Arch packages with Parabola ones
Add the [libre] repo before [core] in /etc/pacman.conf:
[libre] Include = /etc/pacman.d/mirrorlist [core] ...
Clean the pacman cache:
# pacman -Scc
You must set the architecture to armv7h (the default is auto) in the "general options" section in /etc/pacman.conf.
pacman.conf
[options] Architecture = armv7h
Force the database sync:
# pacman -Syy
Update to libre packages:
# pacman -S pacman # cp /etc/pacman.conf.pacnew /etc/pacman.conf # pacman -Sy # pacman -Suu
Install your-freedom to remove nonfree packages that do not have libre replacements:
# pacman -S your-freedom
Finally, replace Arch kernel linux-armv7 with Parabola one:
# pacman -S linux
1.3 Update Bootloader
Before rebooting, it is important to make sure that the old U-Boot has been replaced, so that it will look for the new vmlinuz-linux-libre kernel image. The pacman -Suu step above might have already done the replacement. If not, install a bootloader. Typically, install uboot4extlinux-<name of your device> (for example uboot4extlinux-cubieboard. Don't forget to uninstall Arch uboot package if you installed before:
# pacman -R uboot-<your device>
Some devices require more fiddling than simply installing the right package. ARM_Installation_Guide#Installing_the_bootloader documents some cases; read it.
1.4 Complete the migration
Restart your system - it should boot into Parabola.
2 After installation
Welcome, you are now in Parabola! Do you encounter some hardware not working after installing your-freedom? This most likely means that there's no free driver or firmware available for the device (check dmesg). It's common for Wi-Fi cards to require a firmware to be loaded into the card. Many cards don't work at all if the firmware is missing. The firmware is often proprietary, thus we don't distribute it. It's the case for almost any internal Wi-Fi card.
The usual fix to the problem is either to replace the card or use an external USB Wi-Fi dongle. You can buy one with Atheros chipset (eg. ath9k_htc for external USB dongle or ath9k for PCI and PCI-Express expansion slots) or RTL818x chipset (eg. rtl8187 for external USB dongle or rtl818x_pci for PCI and PCI-Express expansion slots) since there is a free firmware for these Wi-Fi adapters. You can also search the h-node database to find Wi-Fi adapters known to work well with free software or scripts/deblob-$ver to check Wi-Fi adapters included in the Linux-libre device blacklist.
If you find any trouble applying these instructions please report it on our Bug Tracker, or if you find a better way, edit this wiki article!
3 Troubleshooting
3.1 Database file does not exist
In the case you get the database file for "repository" does not exist error, run pacman -Syy. If that doesn't work, install the following packages (if you already installed them, run pacman-db-upgrade):
# pacman -U https://www.parabola.nu/packages/libre/any/parabola-keyring/download/ #Install parabola-keyring # pacman -U https://www.parabola.nu/packages/core/any/archlinux-keyring/download/ #Install archlinux-keyring # pacman -S archlinuxarm-keyring #Install archlinuxarm-keyring # pacman -U https://www.parabola.nu/packages/libre/any/pacman-mirrorlist/download #Install pacman-mirrorlist # pacman -U https://www.parabola.nu/packages/libre/armv7h/pacman/download/ #Install pacman (Parabola's version)
Now upgrade the database files and enable the keyrings.
# pacman-db-upgrade # pacman-key --init # pacman-key --populate archlinuxarm archlinux parabola