Re-partition eMMC After Installing /boot and / on Pinebook Pro NVMe SSD?

I imaged my Manjaro system from my PBP eMMC to my new NVMe SSD drive. Manjaro mounts /boot and / from the NVMe SSD now. I understand that UBoot must remain on my eMMC storage (unless I risk flashing UBoot to SIP). How much of my eMMC can I repartition for use as general storage without impacting UBoot?

$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
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 931.5G  0 disk 
├─nvme0n1p1  259:1    0 213.6M  0 part /boot
└─nvme0n1p2  259:2    0 931.3G  0 part /

$ sudo fdisk --list /dev/mmcblk2
Disk /dev/mmcblk2: 58.24 GiB, 62537072640 bytes, 122142720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x87129214

Device                   Boot     Start       End                  Sectors    Size        Id    Type
/dev/mmcblk2p1             62500    500000            437501     213.6M  c     W95     FAT32 (LBA)
/dev/mmcblk2p2            500001 122142719 121642719    58G 83          62500  Linux

As long as I leave everything alone before 62500 on my eMMC, will it still boot from the NVMe SSD or do I also have to leave the previous eMMC boot partition intact (/dev/mmcblk2p1)?

But I just now realized that /boot contains the files idbloader.img, trust.img, and uboot.img and according to
https://wiki.pine64.org/wiki/RK3399_boot_sequence:

So now I have doubts that I can remove the old boot partition because the *32KB BootROM code cannot load from NVMe.

Maybe I should re-label my eMMC boot partition as “BOOT_MNJRO” too, else pacman might update the wrong boot partition someday! :fearful:

Thanks!

As long as you don’t touch the first 32 MB’s on the eMMC, uboot should be fine. It’s located in those. Not in any partitions.

As that amounts to around the first 32 MB’s, then yes. See above answer.

The files in /boot, are provided by the uboot package and are only used when you need to flash a new uboot to the drive. They are not used to actually boot the device. Your NVMe install also has these files in it’s /boot.

Well, you can just change what drive gets mounted in your fstab and you should be safe.
In newer images, we use the PARTUUID in both fstab and extlinux.conf, to avoid exactly this issue. :slight_smile:

2 Likes

Wonderful! My initial suspicion was correct. :smiley:

Ahh–I didn’t think of that possiblilty. Makes sense!

I’ll take a look at fstab and extlinux.conf. If my system is still using partition labels, I should be able to change to PARTUUID, I suspect.

I searched both this forum and the Pine64 forum but could not sort out this puzzle. Your assistance is most appreciated, Strit.

BTW, My new 1TB WD Blue SN550 SSD is working great and consuming less power than previous NVMe SSD reports on the PBP. The nvme cli utility is reporting my SN550 power modes to be lower power than previous PBP user reports too. APST (Autonomous Power State Transitions) also appears to work very well so I have not been motivated to use a low static/fixed power setting to preserve battery life.

It turns out that my Manjaro system uses partition labels, but I’ll simply continue to use the BOOT_MNJRO and ROOT_MNJRO labels on my NVMe SSD partitions as I’ll be repartitioning my eMMC with new labels anyway (while keeping the UBoot section untouched).

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.