03-18-2020, 06:53 PM
Figured out how to automate it in a janky manner - details below for posterity. Still interested in getting grub to output to the LCD with keyboard input. When only letting grub see "console=tty1" in the bootargs, it spits out "error: no suitable video mode found." on the serial console right before displaying the boot menu.
boot.txt
You might need to change the "1:1" in the "load mmc" commands for your setup - for testing I was booting off an sdcard. Also note your paths to grubaa64.efi (BOOTAA64.EFI) and dtb file may be different.
grub.cfg
As others online have noted, rebooting has issues but otherwise it seems to work great.
Here is my boot log too in case it might help someone:
boot.txt
Code:
setenv bootargs initrd=/boot/initramfs-linux.img console=ttyS0 console=tty1 root=LABEL=ROOT_MNJRO rw rootwait video=eDP-1:1920x1080@60 video=HDMI-A-1:1920x1080@60 bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash
load mmc 1:1 ${fdt_addr_r} dtbs/rockchip/rk3399-pinebook-pro.dtb
load mmc 1:1 ${kernel_addr_r} efi/EFI/BOOT/BOOTAA64.EFI
bootefi ${kernel_addr_r} ${fdt_addr_r}
grub.cfg
Code:
set timeout_style="menu"
set timeout=5
menuentry "Kernel" {
linux (hd0,msdos1)/Image console=tty1 root=LABEL=ROOT_MNJRO rw rootwait video=eDP-1:1920x1080@60 video=HDMI-A-1:1920x1080@60 bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash
devicetree (hd0,msdos1)/dtbs/rockchip/rk3399-pinebook-pro.dtb
initrd (hd0,msdos1)/initramfs-linux.img
}
As others online have noted, rebooting has issues but otherwise it seems to work great.
Here is my boot log too in case it might help someone:
Code:
U-Boot TPL 2020.01-6-g365495a329 (Mar 08 2020 - 16:47:50)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...
U-Boot SPL 2020.01-6-g365495a329 (Mar 08 2020 - 16:47:50 +0000)
Trying to boot from MMC1
U-Boot 2020.01-6-g365495a329 (Mar 08 2020 - 16:47:50 +0000) Manjaro ARM
Model: Pine64 Pinebook Pro
DRAM: 3.9 GiB
PMIC: RK808
MMC: dwmmc@fe320000: 1, sdhci@fe330000: 0
In: serial@ff1a0000
Out: serial@ff1a0000
Err: serial@ff1a0000
Model: Pine64 Pinebook Pro
## Error: Can't overwrite "serial#"
## Error inserting "serial#" variable, errno=1
rockchip_dnl_key_pressed: adc_channel_single_shot fail!
Net: No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
452 bytes read in 5 ms (87.9 KiB/s)
## Executing script at 00500000
80426 bytes read in 16 ms (4.8 MiB/s)
135168 bytes read in 24 ms (5.4 MiB/s)
Scanning disk dwmmc@fe320000.blk...
Card did not respond to voltage select!
Scanning disk sdhci@fe330000.blk...
Disk sdhci@fe330000.blk not ready
Found 3 disks
Welcome to GRUB!
GNU GRUB version 2.04 [28/1829]
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│*Kernel │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Use the ▲ and ▼ keys to select which entry is highlighted.
Press enter to boot the selected OS, `e' to edit the commands before booting or `c' for a command-line.
The highlighted entry will be executed automatically in 0s.
Booting `Kernel'
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...