Bug 1216674 - [request] u-boot for soquartz
Summary: [request] u-boot for soquartz
Status: IN_PROGRESS
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Bootloader (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Guillaume GARDET
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-27 21:50 UTC by Bret Towe
Modified: 2023-11-06 21:12 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bret Towe 2023-10-27 21:50:24 UTC
requesting a u-boot package to cover pine64 soquartz devices.

the current best u-boot for soquartz is the below:
https://github.com/Kwiboo/u-boot-rockchip/

for the initial setup I've gotten working I've used the Manjaro style of install/setup
its build script for reference is here: 
https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-soquartz-cm4/-/blob/main/PKGBUILD

and if it wouldn't be to much hassle having the dedicated uboot for soblade and cm4 options would be great.

thank you.
Comment 1 Guillaume GARDET 2023-11-03 16:37:52 UTC
I built upstream u-boot for quartz64-b-rk3566 config here:
https://download.opensuse.org/repositories/home:/Guillaume_G:/branches:/hardware:/boot:/staging/openSUSE_Factory_ARM/aarch64/

Could you try it, please?

Also, the board has an SPI flash, which may hold u-boot (or other boot firmware) to allow to boot regular EFI openSUSE images, maybe?
Comment 2 Bret Towe 2023-11-04 20:10:27 UTC
(In reply to Guillaume GARDET from comment #1)
> I built upstream u-boot for quartz64-b-rk3566 config here:
> https://download.opensuse.org/repositories/home:/Guillaume_G:/branches:/
> hardware:/boot:/staging/openSUSE_Factory_ARM/aarch64/
> 
> Could you try it, please?

will do.

> 
> Also, the board has an SPI flash, which may hold u-boot (or other boot
> firmware) to allow to boot regular EFI openSUSE images, maybe?

the SPI interface is something that requires the user to solder on a chip themself as I recall, doesn't come preinstalled. I currently just have a emmc chip attached to hold /boot/efi and /boot. 
once uboot loads it does load up the grub efi image and normal grub boot process finishes from there.
Comment 3 Bret Towe 2023-11-05 17:11:58 UTC
I installed and tested it on one of my soblade carrier boards and u-boot does load and pass off to grub, kernel loads and boots but it doesn't finish boot fully and stalls before loading full userspace (no console login or ssh).

looking at the install name it might be for the model b tho? so I'll test that carrier board next
Comment 4 Bret Towe 2023-11-05 20:46:24 UTC
I miss-remembered I have the model A carrier board not B
I couldn't get it to boot the installer iso image
no idea its issue as I also couldn't get the serial console to give useful output
serial did function as expected on the soblade, so might an issue with my usb serial device as i have a different one for the model A than what I use for the soblade
Comment 5 Guillaume GARDET 2023-11-06 16:18:30 UTC
I built more u-boot packages:
  quartz64-a-rk3566
  quartz64-b-rk3566
  soquartz-blade-rk3566
  soquartz-cm4-rk3566

if you want to try them.

Same place: https://download.opensuse.org/repositories/home:/Guillaume_G:/branches:/hardware:/boot:/staging/openSUSE_Factory_ARM/aarch64/
Comment 6 Bret Towe 2023-11-06 21:12:29 UTC
ok I've tested the blade and model a packages.

the model a I did figure out my serial issue (ttl cable i had couldn't deal with 1500000 baud) so I can see whats going on better.
the kernel is loading but shortly after loading board powers off.
I've put in a question on the quartz dev channels to see if my earlycon command line is correct as I'm not seeing full kernel boot info.
currently I'm unsure what is causing shutdown.

the blade package worked it boots normally.
as it works I do have a question of what is the normal way uboot is updated for opensuse?
on manjaro they just echo'd to console during update the commands required and the user would choose to run them or not.

at the moment I'm running the 2 commands below manually
dd if=/boot/idbloader.img of=/dev/mmcblk0 seek=64 conv=notrunc,fsync
dd if=/boot/u-boot.itb of=/dev/mmcblk0 seek=16384 conv=notrunc,fsync