Migrating ext4 emmc to btrfs nvme Manjaro Pinebook Pro

Looking for some help in getting this install booting. I picked up an nvme drive for my pinebook pro and decided to also use this as a chance to test out btrfs.

Distro: Manjaro
Hardware: Pinebook Pro

After reading some I decided to start with a more default set-up and learn from there. So I used an iso w/ default btrfs install. With the idea of flashing it to nvme (getting a nice stood up btrfs) and then moving files from emmc to nvme.

At the end of this process, I am stuck with a blank screen after boot loader (w/o ability to switch tty’s). I’ll try to walk through my process to identify what may help

Flashing img to nvme

Created img
sudo buildarmimg -d pbpro -e lxqt -b testing -p btrfs

Used Etcher to make bootable sd card and booted into live iso.

Used manjaro-arm-flasher to install to nvme.

Mounted nvme /boot and emmc /boot partitions
sudo mount /dev/nvme0n1p1 /mnt/tmp
sudo mount /dev/mmcblk2p1 /mnt/tmp2

Copied /boot/* from nvme0n1p1 to mmcbkl2p1
sudo rsync -avHAXS /mnt/tmp/ /mnt/tmp2

Edited extlinux.conf to reflect correct UUID of mmcblk2p1

Unmounted both /boot dir’s and mounted /home on nvme0n1p2
sudo mount -t btrfs -o subvol=@home,defaults /dev/nvme0n1p2 /dev/tmp

Edited /etc/fstab to reflect /boot on mmcblk2p1

Unmounted nvme completely and rebooted.

At this point I was able to boot and use lsblk to see everything was correct so far. /boot on emmc and /root on nvme. Feeling confident, I booted back into the live iso :slightly_smiling_face:

Moving old install to nvme

Used gparted to remove nvme0n1p1 and expand nvme0n1p2 to whole disk.

Mounted my new nvme fs
sudo mount -t btrfs -o subvol=@,defaults /dev/nvme0n1p2 /dev/tmpRoot
sudo mount -t btrfs -o subvol=@home,defaults /dev/nvme0n1p2 /dev/tmpRoot/home
sudo mount /dev/mmcblk2p1 /mnt/tmpRoot/boot

Mounted my old emmc fs
sudo mount /dev/mmcblk2p2 /mnt/tmp

Move correct fstab to avoid mistakes
sudo cp -a /mnt/tmpRoot/\@/etc/fstab /mnt/tmp/etc/fstab

Copy data from emmc to nvme
sudo rsync -avHAXS /mnt/tmp/ /mnt/tmpRoot/\@ --exclude={'boot','dev','home','mnt','proc','run','sys','tmp'}
sudo rsync -avHAXS /mnt/tmp/home/ez/ /mnt/tmpRoot/\@home/ez

JIC, chroot into nvme fs and update
sudo manjaro-chroot /mnt/tmpRoot /bin/bash
sudo pacman -Syyu

Exit chroot and rebooted to blank screen. No blinking cursor or ability to change to other tty. :upside_down_face:

I chrooted back through the live iso and reinstalled the kernel, which ran mkinitcpio but, on reboot it had same effect.
sudo pacman -S linux

Second try chroot back into nvme fs, this time reinstalled uboot without any luck either.
sudo pacman -S uboot-pinebookpro
sudo dd if=/boot/idbloader.img of=/dev/mmcblk2 seek=64 conv=notrunc,fsync
sudo dd if=/boot/uboot.img of=/dev/mmcblk2 seek=16384 conv=notrunc,fsync

I know that’s quite the journey but, I can chroot in and update just fine so it shouldn’t be too far away…

lsblk/chroot/blkid/fstab/extlinux.conf ... output
[oem@manjaro-arm ~]$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda            8:0    1  14.5G  0 disk 
|-sda1         8:1    1 213.6M  0 part /boot
`-sda2         8:2    1  14.2G  0 part /
mmcblk2      179:0    0  58.2G  0 disk 
|-mmcblk2p1  179:1    0 213.6M  0 part 
`-mmcblk2p2  179:2    0    58G  0 part 
mmcblk2boot0 179:32   0     4M  1 disk 
mmcblk2boot1 179:64   0     4M  1 disk 
zram0        252:0    0   5.7G  0 disk [SWAP]
nvme0n1      259:0    0 238.5G  0 disk 
`-nvme0n1p2  259:1    0 238.2G  0 part 

[oem@manjaro-arm ~]$ sudo mount -t btrfs -o subvol=@,defaults /dev/nvme0n1p2 /mnt/tmpRoot/

[oem@manjaro-arm ~]$ sudo mount -t btrfs -o subvol=@home,defaults /dev/nvme0n1p2 /mnt/tmpRoot/home

[oem@manjaro-arm ~]$ sudo mount /dev/mmcblk2p1 /mnt/tmpRoot/boot/

[oem@manjaro-arm ~]$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda            8:0    1  14.5G  0 disk 
|-sda1         8:1    1 213.6M  0 part /boot
`-sda2         8:2    1  14.2G  0 part /
mmcblk2      179:0    0  58.2G  0 disk 
|-mmcblk2p1  179:1    0 213.6M  0 part /mnt/tmpRoot/boot
`-mmcblk2p2  179:2    0    58G  0 part 
mmcblk2boot0 179:32   0     4M  1 disk 
mmcblk2boot1 179:64   0     4M  1 disk 
zram0        252:0    0   5.7G  0 disk [SWAP]
nvme0n1      259:0    0 238.5G  0 disk 
`-nvme0n1p2  259:1    0 238.2G  0 part /mnt/tmpRoot/home
                                       /mnt/tmpRoot

[oem@manjaro-arm ~]$ sudo manjaro-chroot /mnt/tmpRoot /bin/bash

[root@manjaro-arm /]# cat /boot/extlinux/extlinux.conf 
LABEL Manjaro ARM
KERNEL /Image
FDT /dtbs/rockchip/rk3399-pinebook-pro.dtb
APPEND rootflags=subvol=@ initrd=/initramfs-linux.img console=ttyS2,1500000 root=PARTUUID=7b2e3695-1ad9-498d-b729-0d64f34150a1 rw rootwait quiet splash plymouth.ignore-serial-consoles

[root@manjaro-arm /]# cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
PARTUUID=0c3b394c-c7da-4b06-86a6-aa2fe0db5f61  /boot   vfat    defaults        0       0
PARTUUID=7b2e3695-1ad9-498d-b729-0d64f34150a1 / btrfs  subvol=@,compress=zstd,defaults,noatime  0  0
PARTUUID=7b2e3695-1ad9-498d-b729-0d64f34150a1 /home btrfs  subvol=@home,compress=zstd,defaults,noatime  0  0

[root@manjaro-arm /]# sudo blkid
/dev/nvme0n1p2: LABEL="ROOT_MNJRO" UUID="a986a981-441a-41cd-b5ae-bd7c35d5c1c1" UUID_SUB="f882d0f9-4f2e-4c6c-b9ed-1d8055940760" BLOCK_SIZE="4096" TYPE="btrfs" PARTLABEL="primary" PARTUUID="7b2e3695-1ad9-498d-b729-0d64f34150a1"
/dev/mmcblk2p2: LABEL="ROOT_MNJRO_X" UUID="b6bfcf3e-3b70-413a-8021-870914aa76f2" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="a6791224-0ddc-43d3-83df-7cf3a4abf9b8"
/dev/mmcblk2p1: SEC_TYPE="msdos" LABEL_FATBOOT="BOOT_MNJRO" LABEL="BOOT_MNJRO" UUID="A59A-BDF9" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="primary" PARTUUID="0c3b394c-c7da-4b06-86a6-aa2fe0db5f61"
/dev/sda2: LABEL="ROOT_MNJRO" UUID="1b509f2a-2757-4afb-847c-768cad1091dd" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="fc5de836-8600-4753-870b-dfa59af1d21f"
/dev/sda1: SEC_TYPE="msdos" LABEL_FATBOOT="BOOT_MNJRO" LABEL="BOOT_MNJRO" UUID="EB96-8328" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="primary" PARTUUID="0dda2583-4800-450d-ae7b-45f5afb3f3fa"
/dev/zram0: LABEL="zram0" UUID="fda83a65-9868-45cd-87d4-63eb68c2e650" TYPE="swap"

[root@manjaro-arm /]# sudo pacman -Syyu
:: Synchronizing package databases...
 core                                                                                  242.4 KiB   182 KiB/s 00:01 [####################################################################] 100%
 extra                                                                                   2.4 MiB   803 KiB/s 00:03 [####################################################################] 100%
 community                                                                               6.2 MiB  1670 KiB/s 00:04 [####################################################################] 100%
:: Starting full system upgrade...
 there is nothing to do

I originally posted to the manjaro forum but, haven’t gotten any response after getting myself stuck.