Migration from Manjaro

From ParabolaWiki
Jump to: navigation, search

Migration from Manjaro is very similar to Migration from Arch and an upgrade from Artix however there are more non-free components and manjaro-specific programs which must be removed in order to ensure a proper installation of Parabola GNU/Linux-libre. It is advised to read both before attempting.

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 you can import pacman-mirrorlist-libre, parabola-keyrings, and proceed with a normal Migration from Arch.

1.1 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

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

SigLevel = Optional TrustAll
Server = https://repo.liri.io/archlinux/unstable/x86_64

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist
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
pacman -Syy --noconfirm parabola-keyring archlinux-keyring
pacman -Su --noconfirm --force --needed openrc openrc-base base-openrc openrc-desktop linux-libre mkinitcpio grub sed update-grub

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

  • 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"

2 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.