Right way to install manjaro on eMMC [PinebookPro]

Hello,

What’s the current correct way to put a fresh up to date installation of manjaro arm on a pinebook pro?

At the moment most things on here point to using manjaro-arm-flasher or manjaro-arm-installer. But I’m a little stuck.

  1. I have used etcher to put the most recent version of Manjaro ARM (Manjaro-ARM-gnome-generic-23.02) on an SD card.

  2. Inserted into my pinebook pro and booted it up

  3. I then tried to install manjaro-arm-installer

  4. Failure, I’m unsable to install anything it reports it needs to do a lot of updates but seems to be unable to install it since it tries to apply other updates and then fails due to webkitgtk-6.0 already existing in filesystem owned by webkit2gtk-5.0.

Am I taking the correct steps to install it or do I need to do something else?

1 Like

A few weeks ago I revisited my pinebook pro.

  • created an sdcard using manjaro-arm-installer
  • boot the device from the sdcard
  • use manjaro-arm-installer to install to emmc
4 Likes

I’m a bit stuck on the first step sorry. This probably rapidly goes off topic since it’s an issue with the manjaro-arm-installer being used on WSL.
Trying to install it using WSL: Ubuntu20.04.6, I’ve installed qemu-system-arm since the explicit listed dependency qemu-user-static-binfmt does not seem to exist within apt but the directory /usr/lib/binfmt.d is missing so it feels like this is a non starter.

The script manjaro-arm-installer should work in any linux environment - but as you already know - WSL is unsupported by Manjaro Linux.

Please look at the dependencies and ensure they are all installed - and yes - packages may have other names.

Clone the latest release from gitlab (bug fix release 1.5.4)

git clone https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer.git

The Ubuntu package qemu-user-static should provide the necessary files.

Upon verifying on a WSL Ubuntu 20.04 it appears the package lacks the content of /usr/lib/binfmt.d. Why that is so I don’t know - missing a package likely. A second search suggested the package binfmt-support but I have not tested.

On Arch based distribution - several configuration files is provided.

 $ ls -l /usr/lib/binfmt.d/
total 124
-rw-r--r-- 1 root root 208 13 dec 10:34 qemu-aarch64_be-static.conf
-rw-r--r-- 1 root root 202 13 dec 10:34 qemu-aarch64-static.conf
-rw-r--r-- 1 root root 198 13 dec 10:34 qemu-alpha-static.conf
-rw-r--r-- 1 root root 198 13 dec 10:34 qemu-armeb-static.conf
-rw-r--r-- 1 root root 194 13 dec 10:34 qemu-arm-static.conf
-rw-r--r-- 1 root root 202 13 dec 10:34 qemu-hexagon-static.conf
-rw-r--r-- 1 root root 205 13 dec 10:34 qemu-hppa-static.conf
-rw-r--r-- 1 root root 210 13 dec 10:34 qemu-loongarch64-static.conf
-rw-r--r-- 1 root root 196 13 dec 10:34 qemu-m68k-static.conf
-rw-r--r-- 1 root root 212 13 dec 10:34 qemu-microblazeel-static.conf
-rw-r--r-- 1 root root 208 13 dec 10:34 qemu-microblaze-static.conf
-rw-r--r-- 1 root root 204 13 dec 10:34 qemu-mips64el-static.conf
-rw-r--r-- 1 root root 200 13 dec 10:34 qemu-mips64-static.conf
-rw-r--r-- 1 root root 360 13 dec 10:34 qemu-mipsel-static.conf
-rw-r--r-- 1 root root 366 13 dec 10:34 qemu-mipsn32el-static.conf
-rw-r--r-- 1 root root 362 13 dec 10:34 qemu-mipsn32-static.conf
-rw-r--r-- 1 root root 356 13 dec 10:34 qemu-mips-static.conf
-rw-r--r-- 1 root root 196 13 dec 10:34 qemu-or1k-static.conf
-rw-r--r-- 1 root root 202 13 dec 10:34 qemu-ppc64le-static.conf
-rw-r--r-- 1 root root 198 13 dec 10:34 qemu-ppc64-static.conf
-rw-r--r-- 1 root root 194 13 dec 10:34 qemu-ppc-static.conf
-rw-r--r-- 1 root root 202 13 dec 10:34 qemu-riscv32-static.conf
-rw-r--r-- 1 root root 202 13 dec 10:34 qemu-riscv64-static.conf
-rw-r--r-- 1 root root 198 13 dec 10:34 qemu-s390x-static.conf
-rw-r--r-- 1 root root 198 13 dec 10:34 qemu-sh4eb-static.conf
-rw-r--r-- 1 root root 194 13 dec 10:34 qemu-sh4-static.conf
-rw-r--r-- 1 root root 210 13 dec 10:34 qemu-sparc32plus-static.conf
-rw-r--r-- 1 root root 202 13 dec 10:34 qemu-sparc64-static.conf
-rw-r--r-- 1 root root 198 13 dec 10:34 qemu-sparc-static.conf
-rw-r--r-- 1 root root 204 13 dec 10:34 qemu-xtensaeb-static.conf
-rw-r--r-- 1 root root 200 13 dec 10:34 qemu-xtensa-static.conf

//EDIT:
After scuba-diving in the Ubuntu filetree, I discoverd a folder /usr/share/binfmts which may be equivalent on Ubuntu - but I know very little on how this is handled on other distributions so - I am guessing

UNTESTED: You may be able to work around this by symlinking the format

sudo ln -s /usr/share/binfmts/qemu-aarch /usr/lib/binfmt.d/qemu-aarch64-static.conf

Tested with Ubuntu 24.04

I have now checked a new install of Ubuntu 24.04 and installing the necessary packages now populated /usr/lib/binfmt.d BUT the filenames do not have -static in them.

So your issue is caused by and incompatible installation - create a new wsl with ubuntu 24.04

wsl --install Ubuntu-24.04

Install the necessary dependencies - as a courtesy I have noted which packages I installed on Ubuntu to make the script work

  • libarchive-tools
  • f2fs-tools
  • systemd-container
  • dialog
  • qemu-efi-aarch64
  • qemu-system
  • qemu-system-arm
  • qemu-user
  • qemu-user-static

Then symlink

sudo ln -s /usr/lib/binfmt.d/qemu-aarch.conf /usr/lib/binfmt.d/qemu-aarch64-static.conf

Discovered another odditiy with Ubuntu.

The script uses localectl list-keymaps but there is no keymaps to list and therefore setting a console keymap is not possible.

A bit of research and I found this

How to fix the missing keymaps in Debian and Ubuntu (localectl: Failed to read list of keymaps)

It’s a known Debian bug

A couple of minutes of research revealed an existing Debian Bug #790955, which was reported a long time ago (in July 2015). The reporter noticed the same findings as I did with no keymaps showing up using localectl.

I have been speculating if it is worth the effort to add quirks to the script to accomodate for these issues - but then I would have to rewrite when/if Debian/Ubuntu fixes their systemd implementation.

The Manjaro Team had a fulltime maintainer for ARM but due to circumstances not known to me the maintainer quit around February 2023 and therefore the Manjaro Arm section is suffering from lack of manpower.

I think your best shot is a Manjaro system to be sure everything works as expected.

Technically you use the steps outline as follows

  • consider if you need to install tow-boot
  • download the minimal edition for pinebook pro
  • write it to a microSD card
  • boot the pinebook pro using the microSD
  • update the sdcard system to unstable branch
    sudo pacman-mirrors -aS unstable
    sudo pacman -Syu
    
  • clone the manjaro-arm-installer to the sd-card (described above)
  • run the installer to target the eMMC (target the unstable branch)
    cd manjaro-arm-installer
    sudo bash manjaro-arm-installer unstable
    
  • use the emmc when selecting installation target
2 Likes