Migration from Manjaro

From ParabolaWiki
Jump to: navigation, search

Migration from Manjaro is very similar to Migration from Arch and an upgrade from Artix. It is advised to read one or the other before attempting a manual migration. However, unlike Parabola and Artix , Manjaro is not maintained to be compatible with Arch. Manjaro systems typically have non-free components and manjaro-specific programs, which must be removed in order to ensure a proper installation of Parabola GNU/Linux-libre.

For these reasons, it is significantly easier to install a fresh Parabola system, rather than attempting to migrate a Manjaro system to Parabola; and there is no way to ensure, that all non-free packages are removed during the migration, or ever.

1 Manual Migration

To manually migrate you will need to remove all packages that say "manjaro" and also the non-free firmwares and plugins that are installed before Parabola GNU/Linux-libre can be properly installed.

One of the easiest ways to find this information manually is to run:

pacman -Q | grep manjaro

Simply use pacman -R and pacman -Rdd respectively as needed until all references are gone.

Also be sure to remove mhwd, pacman-mirrors (-Rdd), and anything with "nonfree" in the title.

Note: Make sure to install a libre kernel like linux-libre, if that is not done automatically during the migration process. Infact Manjaro and Arch kernel names differ. If you miss this step you surely will not have a fully libre system and, in some cases, you may not be able to boot it.

Once done removing Manjaro-specific packages, you can proceed with the standard Migration from Arch.

2 Trouble Shooting

  • If you are having trouble validating keys after migrating you may need to run the following quick fix to get your keys in sync:
# rm -rfv /etc/pacman.d/gnupg/* /var/cache/pacman/pkg/* /var/lib/pacman/*.db
# pacman -Rddnnssuu --noconfirm manjaro-keyring archlinux-keyring systemd manjaro-mirrorlist linux grub linux-api-headers linux-firmware mkinitpcio xf86-video-amdgpu xf86-video-ati xf86-video-intel colord libpulse libwacom alsa-firmware ipw2100-fw ipw2200-fw nss-myhostname zd1211-firmware libutil-linux util-linux
# nano /etc/pacman.conf
RemoteFileSigLevel = Never
# pacman -U --noconfirm https://www.parabola.nu/packages/libre/any/parabola-keyring/download
# pacman -U --noconfirm https://www.parabola.nu/packages/core/any/archlinux-keyring/download
# pacman -U --noconfirm https://www.parabola.nu/packages/libre/any/pacman-mirrorlist/download
# nano /etc/pacman.conf
RemoteFileSigLevel = Required
Note: If you intend to dismiss systemd, and use the OpenRC init-systen instead, ensure that pacman is subscribed to the nonsystemd package repo before beginning the migration process. Edit /etc/pacman.conf to configure pacman's options, if necessary.
Note: There are some subtle caveats to be aware of regarding OpenRC. The OpenRC article has some trouble-shooting advice for the most common problems. If you have a problem initially, with using your new OpenRC system, please read that article, first before reporting bugs.

First install the pacman keyrings:

# pacman -Syy --noconfirm parabola-keyring archlinux-keyring

Then for the systemd init-system (recommended):

# pacman -Suu base linux-libre mkinitcpio grub update-grub

or for the OpenRC init-system:

# pacman -Suu base linux-libre mkinitcpio grub update-grub libelogind udev-init-scripts openrc-desktop

Most importantly DO NOT FORGET TO UPDATE GRUB after the migration or you will break your system.

update-grub
  • If you are having trouble with the mirrorlist, it is due to Manjaro recently breaking away from the way the native Arch Mirrorlist works and using their own invent. To fix this issue you must restore a non-Manjaroed pacman.conf and manually install the mirrorlist prior to continuing with the installation. An example for 64bit computers is shown below. You may need to use a different architecture on command #3 as needed.
		mv /etc/pacman.conf pacman.conf.manjaro
		mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.manjaro
		wget -O /etc/pacman.conf "https://projects.parabola.nu/abslibre.git/plain/libre/pacman/pacman.conf.x86_64"
		wget -O /etc/pacman.d/mirrorlist "https://repo.parabola.nu/mirrorlist.txt"

3 Bash Script to auto-migrate

There is a bash script which can help automate this process but it has a few nuances.

  • The script is unable to remove all non-free components before starting your-freedom so user still has to choose "Y" on ALL prompts or the script will break.
  • Running this script more than once causes "[libre]" and "[non-prism]" to be added to /etc/pacman.conf multiple times.
  • Script could have more fail-safes in the event something bad happens

You may choose to use this code as a reference point for manually porting Manjaro or give it a try and help fix bugs and improve this script.

## This is a script to convert from Manjaro to Parabola GNU/Linux-libre			##
## 			Last working 01/28/2015						##
Script Broke 12/6/2015. Please join #parabola on Freenode before attempting migration.