Project

General

Profile

Actions

Action Item #876

open

Review PinePhone Pro for Xeon

Added by Hammel about 1 month ago. Updated 3 days ago.

Status:
In Progress
Priority:
Immediate
Assignee:
Target version:
Start date:
16 Dec 2021
Due date:
% Done:

20%

Estimated time:
Severity:
01 - Critical

Actions #2

Updated by Hammel about 1 month ago

  • % Done changed from 0 to 10

I started the xcc build. I'm integrating the rk3399 build into the existing HW=xeon build for PiBox as I don't think there are major changes to PiBox required - just config changes for the toolchain.

There was a change to ISL that could be updated in the config file. However, expat needs a change to remote archives. See commit #eb9074cc9 in the Crosstool-ng git repo.

Actions #3

Updated by Hammel about 1 month ago

There is a posted issue on GitHub for packages that have moved hosts since Crosstool-NG 1.24.0 was released.
Review this and see if that helps fix the problems with isl and expat.

Actions #4

Updated by Hammel about 1 month ago

Fixed isl problem with a config file change.
Fixed expat problem by pre-fetching the archive - added new xcc-prefetch target for xcc builds.
Build now fails on cross-gdb build:

[ALL  ]    checking whether to use python... /usr/bin/python3.7
[ALL  ]    Traceback (most recent call last):
[ALL  ]      File "/home/mjhammel/src/ximba/raspberrypi4/src/../bld/crosstool-ng-1.24.0.bld/work/aarch64-xeon-linux-gnu/src/gdb/gdb/python/python-config.py", line 7, in <module>
[ALL  ]        from distutils import sysconfig
[ALL  ]    ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.7/distutils/__init__.py)
[ERROR]    configure: error: failure running python-config --includes
[ERROR]    make[3]: *** [Makefile:8763: configure-gdb] Error 1

This may be fixed in the docker image (which is running with buster - re: 10.x) with the following:

sudo apt-get -y install python3.7-distutils
sudo apt-get -y install python3.7-dev

This is being tested now.

Actions #5

Updated by Hammel about 1 month ago

Those xcc changes worked. I have a toolchain for rk3399 now.

Next:
  1. disable rpifw component in the build based on HW=xeon.
  2. Use kernel 5.16.x for HW=xeo n
    1. k ernel.org is mostly there
    2. megi's kernel is recommended for PinePhone Pro but is 5.16 but may be more stable
  3. Update fwobj and kfwobj configurations, probably to be xeon specific - done; needs verifying with kernel build
  4. Find a suitable config for rk3399
    1. Probably from megi's kernel repo
Actions #6

Updated by Hammel about 1 month ago

  • Description updated (diff)
Actions #7

Updated by Hammel about 1 month ago

  • % Done changed from 10 to 20

Kernel build is completed. As is Busybox which didn't need any changes.

Buildroot needs some mods.
  1. Pull rpitools target into new buildroot-rpi.mk
  2. Pull GLES rules from preconfig target into new buildroot-rpi.mk
  3. Pull xeon rules from preconfig-customize target into new buildroot-xeon.mk
  4. Pull vc rules from ext3 target into new buildroot-rpi.mk
Actions #8

Updated by Hammel about 1 month ago

Still need to finish Buildroot updates.
Buildroot is completed.

Kernel updates
  1. Add DTB pull from kernel build
    1. DTS: rk3399-pinephone-pro.dts
  2. Review kernel news and kernel releases
Need a bootloader build
  1. for Levinboot (also from DeltaGem)
    1. Temporary binary download
  2. for u-boot
    1. u-boot for Rockchip
    2. Rockchip partitioning
    3. Current Manjaro u-boot, which is based on upstream plus patches but which is not fully booting yet. It forms the basis for dsimic's u-boot which has additional patches not found in any git repo yet.
Script updates for installation
  1. Check for sfdisk
  2. Levinboot
    1. Check for fdtput, which comes from device-tree-compiler package on Debian
    2. Levinboot SD card setup
  3. u-boot
    1. u-boot SD card setup
  4. Nuke eMMC
  5. Write eMMC with boot image - this can brick the phone!
Usage updates
  1. Using levinboot to select kernel boot image
Test status
  1. u-boot build does not boot Linux
    1. piboxRK u-boot build complete
    2. Fails to find SD card
  2. Levinboot build does boot Linux, but resets during kernel init (before rootfs)
Migrate to piboxRK repo
  1. Strip rpi bits from build
  2. Drop git history
  3. create new GitLab repo
  4. Push current build
Actions #9

Updated by Hammel 22 days ago

  • Description updated (diff)
Actions #10

Updated by Hammel 22 days ago

  • Description updated (diff)
Actions #11

Updated by Hammel 21 days ago

  • Description updated (diff)
Actions #12

Updated by Hammel 21 days ago

  • Description updated (diff)
Actions #13

Updated by Hammel 3 days ago

Initial import of Xeon dev platform (PiBox based) done today.

Current status:
  • Build system runs cleanly.
  • u-boot build can boot kernel
  • Kernel is not mounting rootfs

Awaiting additional u-boot updates from upstream but still working boot processing since it's known that u-boot can boot kernel enough to get to rootfs.

Actions

Also available in: Atom PDF