PINE64
Changing Boot Order on the PineBook Pro - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=111)
+--- Forum: Pinebook Pro Hardware and Accessories (https://forum.pine64.org/forumdisplay.php?fid=116)
+--- Thread: Changing Boot Order on the PineBook Pro (/showthread.php?tid=9874)



Changing Boot Order on the PineBook Pro - bb1netusaf2004 - 05-16-2020

Hello, I searched for an answer but I'm not finding anything.  Apologies if this has been asked and answered already.

My Pinebook Pro boot order was behaving as expected for quite some time.  It was booting from the SD card when a bootable card was inserted, and then from the eMMC otherwise.

After flashing Ayufan's Chromium OS build to the eMMC, now for some reason the PBP always boots from the eMMC card unless I disable the hardware switch for it.  This effectively makes the eMMC worthless since it can't be re-enabled without rebooting, but then the boot happens from the eMMC (which is currently in a totally broken state and needs to be re-installed).  I've now got a real chicken and egg problem going here.

I had read that the boot order was fixed (possibly hardcoded) but given my experience here, I'm wondering how true that actually is.

Is there any way to change the boot order?  How can I restore it to factory settings?


RE: Changing Boot Order on the PineBook Pro - Arwen - 05-17-2020

It may be possible to re-enable the eMMC after you have both disabled it, and booted to an alternate source, like MicroSD card.
I've used similar instructions for my x86/x64 Media server's MicroSD card. Here is what I have;

Un-TESTED!!!! Use at your own risk. This is from the default Debian, but may
work on others.

While powered off, switch eMMC to disabled state. Then power on. If the user
is not fast enough with the switch to enabled state, the OS image on the SD card
won't see the eMMC. Thus, it may be needed to un-bind and re-bind the eMMC driver.
Note, it is still REQUIRED to enable the eMMC via the hardware switch. These
instruction below, MAY allow the OS to find it after boot.

The first 2 outputs may show nothing, which could happen if OS thinks the eMMC
does not exist. The 3rd command checks and sees if it's possible to unbind and bind.
Lines 4 & 5 are the real work. Though again, line 4 may not do anything if the device
is already un-bound.


Code:
# blockdev --getsize64 /dev/mmcblk1
125069950976

# readlink /sys/block/mmcblk1
../devices/platform/fe330000.sdhci/mmc_host/mmc1/mmc1:0001/block/mmcblk1

# ls /sys/bus/platform/drivers/sdhci-arasan
bind fe330000.sdhci uevent unbind

# echo fe330000.sdhci >/sys/bus/platform/drivers/sdhci-arasan/unbind
# echo fe330000.sdhci >/sys/bus/platform/drivers/sdhci-arasan/bind