$ sudo pacman -Syuu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
:: Starting full system upgrade...
there is nothing to do
The other day, Elementary announced elementaryOS 6 preview builds for the Pinebook Pro. I went ahead and flashed an SD card with a build image to try it out. Instead of booting to elmentaryOS on the SD card as the system should have, it booted to Manjaro. While a quick restart from Manjaro caused the system to boot from the SD card, I figured it must be time to upgrade the bootloader, U-Boot. As it turns out, it was time because this solved my boot issue.
This tutorial provides instructions for updating the Pinebook Pro’s bootloader from Manjaro Linux.
First, ensure the system is up-to-date.
$ sudo pacman -Syuu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
:: Starting full system upgrade...
there is nothing to do
Next, determine which device is the onboard eMMC module.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 85.5M 1 loop /var/lib/snapd/snap/core/9806
loop1 7:1 0 85.8M 1 loop /var/lib/snapd/snap/core/9670
loop2 7:2 0 174.6M 1 loop /var/lib/snapd/snap/multipass/2446
loop3 7:3 0 62.2M 1 loop /var/lib/snapd/snap/snapcraft/5312
loop4 7:4 0 48.4M 1 loop /var/lib/snapd/snap/core18/1883
loop5 7:5 0 36.9M 1 loop /var/lib/snapd/snap/review-tools/1723
loop6 7:6 0 62.2M 1 loop /var/lib/snapd/snap/snapcraft/5282
loop7 7:7 0 48.8M 1 loop /var/lib/snapd/snap/core18/1888
loop8 7:8 0 173.6M 1 loop /var/lib/snapd/snap/multipass/2379
mmcblk2 179:0 0 58.2G 0 disk (1)
├─mmcblk2p1 179:1 0 213.6M 0 part /boot
└─mmcblk2p2 179:2 0 58G 0 part /
mmcblk2boot0 179:32 0 4M 1 disk
mmcblk2boot1 179:64 0 4M 1 disk
mmcblk1 179:96 0 238.5G 0 disk (2)
zram0 252:0 0 5.6G 0 disk [SWAP]
1 | In this case, mmcblk2 is the internal 64 GB eMMC module. |
2 | mmcblk1 happens to be a connected 250 GB SD card. |
Flashing to the wrong device could destroy your data. If you have an SD card connected, you might want to unplug it to be safe. |
Flash idbloader.img
to the eMMC.[1]
$ sudo dd if=/boot/idbloader.img of=/dev/mmcblk2 seek=64 conv=notrunc,fsync
322+1 records in
322+1 records out
164958 bytes (165 kB, 161 KiB) copied, 0.00663394 s, 24.9 MB/s
Flash u-boot.itb
to the eMMC.
$ sudo dd if=/boot/u-boot.itb of=/dev/mmcblk2 seek=16384 conv=notrunc,fsync
1801+1 records in
1801+1 records out
922192 bytes (922 kb, 901 KiB) copied, 0.0833926 s, 11.1 MB/s
That’s all. You should now have the latest U-Boot booting your system!