Migration from Arch ARM
Free your Arch ARM to Parabola!
Complete migration
Install Parabola keyring and mirror list
Disable signature verification manually by modifying the line in /etc/pacman.conf:
SigLevel = Never
Install keyrings and mirror list for free repositories in /etc/pacman.d/mirrorlist:
# pacman -U https://www.parabola.nu/packages/libre/any/parabola-keyring/download/ # pacman -S archlinuxarm-keyring # pacman -U https://www.parabola.nu/packages/libre/any/pacman-mirrorlist/download/
# pacman -U https://repo.parabola.nu/pool/parabola/parabola-keyring-20160103-1-any.pkg.tar.xz # pacman -U https://repo.parabola.nu/pool/parabola/pacman-mirrorlist-20160130-1.parabola1-any.pkg.tar.xz
Reenable signature verification in /etc/pacman.conf:
SigLevel = Required DatabaseOptional
To be able to install package, you have to initialise the pacman keyring:
# pacman-key --init # pacman-key --populate archlinuxarm # pacman-key --populate parabola
Rename mirrorlist.pacnew as mirrorlist:
# cp /etc/pacman.d/mirrorlist.pacnew /etc/pacman.d/mirrorlist
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 # pacman -Suu
Install your-freedom to remove nonfree packages that do not have libre replacements:
# pacman -S your-freedom
Bootloader configuration
GTA04 A3
The GTA04 typically has its bootloader in NAND. So here we will put everything on one partition for simplicity. We format a microSD card (all its content will be lost)
# fdisk /dev/mmcblk0 # Create a partition on your microSD card. # mkfs.ext4 /dev/mmcblk0p1 # Format it as ext4 # mount /dev/mmcblk0p1 /mnt
Then we extract the rootfs to it, --numeric-owner is needed for compatibility with other host distributions like Trisquel
# tar xf /path/to/parabola_arm_rootfs.tar.xz -C /mnt --numeric-owner
We then have the rootfs in place, but uboot expects an uImage in /boot/uImage, so we create that:
# cat /mnt/boot/vmlinuz-linux-libre /mnt/boot/dtbs/linux-libre/omap3-gta04a3.dtb > /tmp/zImage.dtb # mkimage -A arm -O linux -T kernel -C none -a 0x82000000 -e 0x82000000 -d /tmp/zImage.dtb /mnt/boot/uImage
You might need to adjust the boot parameters/cmdline given to the kernel and the uboot environment to fit your partioning scheme.
Parabola then boots and you are supposed to see the boot log on the serial console. At the time of writing the kernel lacks the GTA04 display driver, this is bug #587
U-Boot
BeagleBoard and BeagleBoard-xM
Manual intervention is needed to use uboot-omap3_beagle
Mount the FAT filesystem
# mkdir boot # mount /dev/sdX1 boot
Copy boot files to the first partition
# cp -a /boot/* boot
Unmount the partition
# umount boot
GRUB
grub has support for ARMv7 machines with EFI support. See our GRUB article for more info.
U-Boot4GRUB
uboot4grub packages are under development yet for U-Boot with GRUB support. At the moment, we have some packages for testing and debugging from [libre-testing].
[libre-testing] Include = /etc/pacman.d/mirrorlist
U-Boot4Extlinux
Extlinux is one of the many spinoffs of Syslinux -- the bootloader used for live CDs and many other applications. It's not as commonly used as a bootloader for desktops and laptops, but it's perfectly capable of that and U-Boot supports it. uboot4extlinux packages are under development yet for U-Boot with Extlinux support. At the moment, we have some packages for testing and debugging from [libre-testing].
[libre-testing] Include = /etc/pacman.d/mirrorlist
Complete the migration
Restart your system - it should boot into Parabola.
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 doesn'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 from wifi device blacklist known to doesn't work with free software due which contains blobs from within exploded Linux source trees.
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!