[gnome-build-meta/jjardon/pinephone-pro-master: 62/71] Add elements to create pinephone-pro image




commit c7fce4b691b598016bdee3fcdf0c20d6acfda046
Author: Javier Jardón <jjardon gnome org>
Date:   Sun Jan 30 13:41:13 2022 +0000

    Add elements to create pinephone-pro image
    
    Base this in the pinebook-pro ones as the SoC is very similar

 .../boards/pinephone-pro/arm-trusted-firmware.bst  |  28 +++
 elements/boards/pinephone-pro/deps.bst             |   9 +
 elements/boards/pinephone-pro/disable-suspend.bst  |  19 ++
 elements/boards/pinephone-pro/filesystem.bst       |  10 +
 elements/boards/pinephone-pro/image-deps.bst       |   8 +
 elements/boards/pinephone-pro/image.bst            | 122 ++++++++++++
 elements/boards/pinephone-pro/initial-scripts.bst  |   7 +
 elements/boards/pinephone-pro/initramfs.bst        |  68 +++++++
 elements/boards/pinephone-pro/initramfs/deps.bst   |  20 ++
 .../pinephone-pro/initramfs/initial-scripts.bst    |   7 +
 elements/boards/pinephone-pro/keyboard-updater.bst |  19 ++
 elements/boards/pinephone-pro/linux.bst            | 215 +++++++++++++++++++++
 elements/boards/pinephone-pro/repo.bst             |  28 +++
 elements/boards/pinephone-pro/u-boot.bst           |  38 ++++
 elements/boards/pinephone-pro/vim.bst              |   9 +
 15 files changed, 607 insertions(+)
---
diff --git a/elements/boards/pinephone-pro/arm-trusted-firmware.bst 
b/elements/boards/pinephone-pro/arm-trusted-firmware.bst
new file mode 100644
index 000000000..4175be28f
--- /dev/null
+++ b/elements/boards/pinephone-pro/arm-trusted-firmware.bst
@@ -0,0 +1,28 @@
+kind: manual
+
+sources:
+- kind: git_tag
+  url: github:ARM-software/arm-trusted-firmware.git
+  track: 22d12c4148c373932a7a81e5d1c59a767e143ac2
+  track-tags: false
+
+build-depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+# This is required because at part of the firmware has to be built for
+# armv7. freedesktop-sdk.bst:cross-compilers/gcc-arm.bst does not
+# seem to be able to compile like needed.
+- boards/common/arm-none-eabi-gcc.bst
+
+variables:
+  board: pinebook_pro-rk3399
+
+environment:
+  CFLAGS: '-fno-stack-protector'
+  LDFLAGS: ''
+
+config:
+  build-commands:
+  - make PLAT=rk3399
+
+  install-commands:
+  - install -Dm644 -t "%{install-root}%{indep-libdir}/u-boot/%{board}" build/rk3399/release/bl31/bl31.elf
diff --git a/elements/boards/pinephone-pro/deps.bst b/elements/boards/pinephone-pro/deps.bst
new file mode 100644
index 000000000..bd81e7b8e
--- /dev/null
+++ b/elements/boards/pinephone-pro/deps.bst
@@ -0,0 +1,9 @@
+kind: stack
+
+depends:
+- vm/common-deps.bst
+- vm/os-release-user.bst
+
+- boards/pinebook-pro/initramfs.bst
+- boards/pinebook-pro/keyboard-updater.bst
+- boards/pinebook-pro/disable-suspend.bst
diff --git a/elements/boards/pinephone-pro/disable-suspend.bst 
b/elements/boards/pinephone-pro/disable-suspend.bst
new file mode 100644
index 000000000..b6f12ecd0
--- /dev/null
+++ b/elements/boards/pinephone-pro/disable-suspend.bst
@@ -0,0 +1,19 @@
+kind: manual
+
+build-depends:
+- freedesktop-sdk.bst:components/pkg-config.bst
+- freedesktop-sdk.bst:components/systemd.bst
+
+config:
+  build-commands:
+  - |
+    cat <<EOF >disable-suspend.conf
+    # Suspend does not yet work on Pinebook Pro
+    [Sleep]
+    AllowSuspend=no
+    EOF
+
+  install-commands:
+  - |
+    systemdutildir="$(pkg-config --variable systemdutildir systemd)"
+    install -Dm644 -t "%{install-root}${systemdutildir}/sleep.conf.d" disable-suspend.conf
diff --git a/elements/boards/pinephone-pro/filesystem.bst b/elements/boards/pinephone-pro/filesystem.bst
new file mode 100644
index 000000000..76cf9f5cf
--- /dev/null
+++ b/elements/boards/pinephone-pro/filesystem.bst
@@ -0,0 +1,10 @@
+kind: compose
+
+build-depends:
+- boards/pinebook-pro/deps.bst
+- boards/pinebook-pro/initramfs.bst
+
+config:
+  exclude:
+  - devel
+  - debug
diff --git a/elements/boards/pinephone-pro/image-deps.bst b/elements/boards/pinephone-pro/image-deps.bst
new file mode 100644
index 000000000..c4d3f6473
--- /dev/null
+++ b/elements/boards/pinephone-pro/image-deps.bst
@@ -0,0 +1,8 @@
+kind: stack
+
+depends:
+- boards/pinebook-pro/u-boot.bst
+- core-deps/libostree.bst
+- core-deps/qemu.bst
+- freedesktop-sdk.bst:components/genimage.bst
+- freedesktop-sdk.bst:integration/mtab.bst
diff --git a/elements/boards/pinephone-pro/image.bst b/elements/boards/pinephone-pro/image.bst
new file mode 100644
index 000000000..e6dcdf6bf
--- /dev/null
+++ b/elements/boards/pinephone-pro/image.bst
@@ -0,0 +1,122 @@
+kind: script
+
+build-depends:
+- boards/pinebook-pro/image-deps.bst
+- boards/pinebook-pro/repo.bst
+- boards/pinebook-pro/linux.bst
+
+variables:
+  linux-root: B921B045-1DF0-41C3-AF44-4C6F280D3FAE
+  ostree-branch: gnome-os/aarch64/pinebook-pro
+  board: pinebook_pro-rk3399
+
+  sysroot: "/sysroot"
+
+environment:
+  OSTREE_REPO: "%{sysroot}/ostree/repo"
+
+config:
+  layout:
+  - element: ''
+    destination: '/sysroot'
+  - element: ''
+    destination: '/genimage'
+  - element: boards/pinebook-pro/repo.bst
+    destination: '/source-repo'
+  - element: boards/pinebook-pro/image-deps.bst
+    destination: '/'
+  - element: boards/pinebook-pro/linux.bst
+    destination: '/kernel'
+
+  commands:
+  - mkdir -p "${OSTREE_REPO}"
+  - ostree init --repo="${OSTREE_REPO}" --mode=bare
+
+  - ostree config --group sysroot set bootloader auto
+  - ostree pull-local "/source-repo" %{ostree-branch}
+
+  - mkdir -p "%{sysroot}/boot"
+
+  - ostree admin init-fs "%{sysroot}"
+  - ostree admin os-init --sysroot="%{sysroot}" gnome-os
+
+  # U-Boot does not provide EFI variables at runtime. So /dev/gpt-auto-root
+  # is not available.
+  - |
+    ostree admin deploy --os="gnome-os" \
+         --sysroot="%{sysroot}" %{ostree-branch} \
+         --karg="rw" --karg="quiet" --karg="splash" \
+         --karg="root=LABEL=root" \
+         --karg="video=eDP-1:1920x1080@60" \
+         --karg="console=ttyS2,1500000n8" \
+         --karg="console=tty0" \
+         --karg="plymouth.ignore-serial-consoles"
+
+  - |
+    mkdir -p "%{sysroot}/etc/ostree"
+    cp -r "%{sysroot}"/ostree/boot.1/gnome-os/*/*/etc/ostree/remotes.d "%{sysroot}/etc/ostree/remotes.d"
+
+  - |
+    ostree admin set-origin --sysroot="%{sysroot}" \
+           --index=0 \
+           gnome-os dummy \
+           %{ostree-branch}
+
+  - |
+    cp -r "%{sysroot}"/ostree/boot.1/gnome-os/*/*/boot/EFI/ "%{sysroot}/boot/"
+
+  - |
+    cp -r "/kernel/boot/dtbs" "%{sysroot}/boot/dtb"
+
+  - |
+    size=$(($(du -s -B 4K "%{sysroot}" | cut -f1)*4+200*1024))
+    cat >/genimage/genimage.cfg <<EOF
+    image efi.img {
+        vfat {
+            extraargs = "-F32 -n EFI"
+        }
+        mountpoint = "/boot"
+        size = 500M
+    }
+    image root.img {
+        ext4  {
+            label = "root"
+            use-mke2fs = true
+        }
+        size = ${size}K
+    }
+    image disk.img {
+        hdimage {
+            gpt = true
+            align = 1M
+        }
+        partition idbloader {
+            image = "idbloader.img"
+            offset = 32K
+            in-partition-table = false
+        }
+        partition uboot {
+            image = "u-boot.itb"
+            offset = 8M
+            in-partition-table = false
+        }
+        partition efi {
+            image = "efi.img"
+            partition-type-uuid = "U"
+        }
+        partition root {
+            image = "root.img"
+            partition-type-uuid = "%{linux-root}"
+        }
+    }
+    EOF
+
+  - |
+    cd /genimage
+    genimage --rootpath "%{sysroot}" --inputpath "%{indep-libdir}/u-boot/%{board}"
+
+  - |
+    sfdisk --part-attrs /genimage/images/disk.img 2 55
+
+  - |
+    qemu-img convert -O qcow2 -f raw /genimage/images/disk.img "%{install-root}/disk.qcow2"
diff --git a/elements/boards/pinephone-pro/initial-scripts.bst 
b/elements/boards/pinephone-pro/initial-scripts.bst
new file mode 100644
index 000000000..6b6fa4644
--- /dev/null
+++ b/elements/boards/pinephone-pro/initial-scripts.bst
@@ -0,0 +1,7 @@
+kind: collect_initial_scripts
+
+build-depends:
+- boards/pinebook-pro/deps.bst
+
+config:
+  path: /etc/fdsdk/initial_scripts
diff --git a/elements/boards/pinephone-pro/initramfs.bst b/elements/boards/pinephone-pro/initramfs.bst
new file mode 100644
index 000000000..16f95bce1
--- /dev/null
+++ b/elements/boards/pinephone-pro/initramfs.bst
@@ -0,0 +1,68 @@
+kind: script
+
+build-depends:
+- freedesktop-sdk.bst:vm/prepare-image.bst
+- boards/pinebook-pro/initramfs/deps.bst
+- boards/pinebook-pro/initramfs/initial-scripts.bst
+
+variables:
+  uuidnamespace: aea54278-2587-4075-ae67-8688ace4ce3d
+
+config:
+  layout:
+  - element: ''
+    destination: '/tmp'
+  - element: ''
+    destination: '/var/tmp'
+  - element: ''
+    destination: '/efi'
+  - element: boards/pinebook-pro/initramfs/deps.bst
+    destination: '/'
+  - element: boards/pinebook-pro/initramfs/initial-scripts.bst
+    destination: '/'
+  - element: vm/prepare-image.bst
+    destination: '/'
+
+  commands:
+  - |
+    prepare-image.sh \
+       --seed "%{uuidnamespace}" \
+       --rootsource LABEL=root \
+       --efisource LABEL=EFI \
+       --efipath /boot >/dev/null
+
+  - |
+    mkdir -p "%{install-root}/usr/lib/"
+    cp -r /usr/lib/modules "%{install-root}/usr/lib/"
+
+  - |
+    version="$(ls -1 /lib/modules | head -n1)"
+    mkdir -p "%{install-root}/usr/lib/modules/${version}"
+    dracut -v --fstab \
+           --no-machineid \
+           --kver "${version}" \
+           --add ostree \
+           --add plymouth \
+           --add eos-repartition \
+           --add-drivers "rockchipdrm panfrost panel_simple analogix_dp pwm_bl drm_kms_helper" \
+           --install 'fsck.ext4' \
+           "%{install-root}/usr/lib/modules/${version}/initramfs"
+
+  - |
+    version="$(ls -1 /lib/modules | head -n1)"
+    cp /boot/vmlinuz "%{install-root}/usr/lib/modules/${version}/vmlinuz"
+
+  - dbus-uuidgen >/etc/machine-id
+  - SYSTEMD_RELAX_ESP_CHECKS=1 bootctl --path='/efi' --no-variables install
+  - rm /etc/machine-id
+
+  - |
+    cp -r /efi "%{install-root}/boot"
+
+  - |
+    cat <<EOF >"%{install-root}/boot/loader/loader.conf"
+    timeout 3
+    editor yes
+    console-mode keep
+    default *
+    EOF
diff --git a/elements/boards/pinephone-pro/initramfs/deps.bst 
b/elements/boards/pinephone-pro/initramfs/deps.bst
new file mode 100644
index 000000000..12f392dee
--- /dev/null
+++ b/elements/boards/pinephone-pro/initramfs/deps.bst
@@ -0,0 +1,20 @@
+kind: stack
+
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- freedesktop-sdk.bst:components/util-linux.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:components/dracut.bst
+- freedesktop-sdk.bst:components/os-release.bst
+- freedesktop-sdk.bst:components/shadow.bst
+- freedesktop-sdk.bst:components/tzdata.bst
+- freedesktop-sdk.bst:components/pkg-config.bst
+- vm/plymouth-gnome-theme.bst
+
+- boards/pinebook-pro/linux.bst
+- freedesktop-sdk.bst:components/linux-firmware.bst
+- freedesktop-sdk.bst:components/wireless-regdb-bin.bst
+
+- core-deps/libostree.bst
+- vm/eos-repartition.bst
diff --git a/elements/boards/pinephone-pro/initramfs/initial-scripts.bst 
b/elements/boards/pinephone-pro/initramfs/initial-scripts.bst
new file mode 100644
index 000000000..f0159e69d
--- /dev/null
+++ b/elements/boards/pinephone-pro/initramfs/initial-scripts.bst
@@ -0,0 +1,7 @@
+kind: collect_initial_scripts
+
+build-depends:
+- boards/pinebook-pro/initramfs/deps.bst
+
+config:
+  path: /etc/fdsdk/initial_scripts
diff --git a/elements/boards/pinephone-pro/keyboard-updater.bst 
b/elements/boards/pinephone-pro/keyboard-updater.bst
new file mode 100644
index 000000000..5ca36c359
--- /dev/null
+++ b/elements/boards/pinephone-pro/keyboard-updater.bst
@@ -0,0 +1,19 @@
+kind: manual
+
+sources:
+- kind: git_tag
+  url: github:ayufan-rock64/pinebook-pro-keyboard-updater.git
+  track: 089ddceaca34cc835d8114900c24db6dcdf121c3
+
+depends:
+- freedesktop-sdk.bst:components/libusb.bst
+
+build-depends:
+- boards/pinebook-pro/vim.bst # Required for xxd
+
+config:
+  build-commands:
+  - make
+
+  install-commands:
+  - install -Dm755 updater "%{install-root}%{bindir}/pinebook-pro-keyboard-updater"
diff --git a/elements/boards/pinephone-pro/linux.bst b/elements/boards/pinephone-pro/linux.bst
new file mode 100644
index 000000000..aa135c1b8
--- /dev/null
+++ b/elements/boards/pinephone-pro/linux.bst
@@ -0,0 +1,215 @@
+kind: manual
+
+sources:
+- kind: git_tag
+  url: https://gitlab.manjaro.org/tsys/linux-pinebook-pro.git
+  #track: master
+  track: c04087388bdb7d79d5202ffb91aa387e36901056
+  track-tags: false
+
+depends:
+- freedesktop-sdk.bst:components/kmod.bst
+
+build-depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:components/bc.bst
+- freedesktop-sdk.bst:components/gzip.bst
+
+variables:
+  bootdir: /boot
+  kernel_arch: arm64
+  image-name: arch/arm64/boot/Image
+
+environment:
+  ARCH: '%{kernel_arch}'
+
+config:
+  configure-commands:
+  - |
+    # Generate the default kernel config for the target architecture
+    make defconfig
+
+  - |
+    # Modify the kernel config for additional features
+
+    # Kernel Config Options
+    scripts/config -e DEVTMPFS
+    scripts/config -e CGROUPS
+    scripts/config -e INOTIFY_USER
+    scripts/config -e SIGNALFD
+    scripts/config -e TIMERFD
+    scripts/config -e EPOLL
+    scripts/config -e NET
+    scripts/config -e SYSFS
+    scripts/config -e PROC_FS
+    scripts/config -e FHANDLE
+
+    # Kernel crypto/hash API
+    scripts/config -e CRYPTO_USER_API_HASH
+    scripts/config -e CRYPTO_HMAC
+    scripts/config -e CRYPTO_SHA256
+
+    # udev will fail to work with legacy sysfs
+    scripts/config -d SYSFS_DEPRECATED
+
+    # Boot is very slow with systemd when legacy PTYs are present
+    scripts/config -d LEGACY_PTYS
+    scripts/config -d LEGACY_PTY_COUNT
+
+    # Legacy hotplug confuses udev
+    scripts/config --set-str UEVENT_HELPER_PATH ""
+
+    # Userspace firmware loading not supported
+    scripts/config -d FW_LOADER_USER_HELPER
+
+    # Some udev/virtualization requires
+    scripts/config -e DMIID
+
+    # Support for some SCSI devices serial number retrieval
+    scripts/config -e BLK_DEV_BSG
+
+    # Required for PrivateNetwork= in service units
+    scripts/config -e NET_NS
+    scripts/config -e USER_NS
+
+    # Required for 9p support
+    scripts/config -e NET_9P
+    scripts/config -e NET_9P_VIRTIO
+    scripts/config -e 9P_FS
+    scripts/config -e 9P_FS_POSIX_ACL
+    scripts/config -e 9P_FS_SECURITY
+    scripts/config -e VIRTIO_PCI
+
+    # Strongly Recommended
+    scripts/config -e IPV6
+    scripts/config -e AUTOFS4_FS
+    scripts/config -e TMPFS_XATTR
+    scripts/config -e TMPFS_POSIX_ACL
+    scripts/config -e EXT4_FS_POSIX_ACL
+    scripts/config -e EXT4_FS_SECURITY
+    scripts/config -e XFS_POSIX_ACL
+    scripts/config -e BTRFS_FS_POSIX_ACL
+    scripts/config -e SECCOMP
+    scripts/config -e SECCOMP_FILTER
+    scripts/config -e CHECKPOINT_RESTORE
+
+    # Required for CPUShares= in resource control unit settings
+    scripts/config -e CGROUP_SCHED
+    scripts/config -e FAIR_GROUP_SCHED
+
+    # Required for CPUQuota= in resource control unit settings
+    scripts/config -e CFS_BANDWIDTH
+
+    # Required for IPAddressDeny=, IPAddressAllow= in resource control unit settings
+    scripts/config -e CGROUP_BPF
+
+    # For UEFI systems
+    scripts/config -e EFIVAR_FS
+    scripts/config -e EFI_PARTITION
+
+    # RT group scheduling (effectively) makes RT scheduling unavailable for userspace
+    scripts/config -d RT_GROUP_SCHED
+
+    # Required for 3D acceleration in qemu
+    scripts/config -e CONFIG_DRM_VIRTIO_GPU
+
+    # Required for systemd-nspawn
+    scripts/config -e DEVPTS_MULTIPLE_INSTANCES
+
+    # Sound with QEMU
+    scripts/config -e SND_HDA_GENERIC
+
+    scripts/config -e MMC
+    scripts/config -m PWRSEQ_SD8787
+    scripts/config -e MMC_BLOCK_MINORS=32
+    scripts/config -m SDIO_UART
+    scripts/config -e MMC_SDHCI
+    scripts/config -e MMC_SDHCI_PCI
+    scripts/config -e MMC_SDHCI_ACPI
+    scripts/config -e MMC_SDHCI_PLTFM
+    scripts/config -e MMC_SDHCI_OF_ARASAN
+    scripts/config -e MMC_SPI
+    scripts/config -e MMC_DW
+    scripts/config -e MMC_DW_PCI
+    scripts/config -e MMC_DW_ROCKCHIP
+
+    scripts/config -d DRM_LIMA
+
+    scripts/config -e DRM_PANFROST
+    scripts/config -m DRM_MALI_DISPLAY
+    scripts/config -m DRM_ANALOGIX_ANX78XX
+    scripts/config -m DRM_DW_HDMI_CEC
+    scripts/config -e DRM_LOAD_EDID_FIRMWARE
+
+    scripts/config -m BATTERY_CW2015
+
+    scripts/config -e FIRMWARE_EDID
+
+    scripts/config -m CRYPTO_DEV_ROCKCHIP
+    scripts/config -e PCIE_ROCKCHIP_HOST
+    scripts/config -e PHY_ROCKCHIP_DP
+    scripts/config -e PHY_ROCKCHIP_INNO_HDMI
+    scripts/config -e PHY_ROCKCHIP_PCIE
+    scripts/config -e ROCKCHIP_LVDS
+    scripts/config -e ROCKCHIP_MBOX
+    scripts/config -e ROCKCHIP_RGB
+    scripts/config -m SND_SOC_ROCKCHIP_MAX98090
+    scripts/config -m SND_SOC_ROCKCHIP_PDM
+    scripts/config -m VIDEO_ROCKCHIP_RGA
+    scripts/config -e ROCKCHIP_SUSPEND_MODE
+    scripts/config -e ROCKCHIP_SIP
+
+    scripts/config -e DRM_PANEL
+    scripts/config -m DRM_PANEL_LVDS
+    scripts/config -m DRM_PANEL_SIMPLE
+
+    scripts/config -m HID_MULTITOUCH
+
+    scripts/config -m SND_SOC_ES8316
+    scripts/config -m SND_SOC_SIMPLE_AMPLIFIER
+    scripts/config -m SND_SIMPLE_CARD
+
+    scripts/config -e CHARGER_GPIO
+    scripts/config -m PWRSEQ_SD8787
+    scripts/config -m PWRSEQ_SIMPLE
+    scripts/config -e GPIO_SYSCON
+
+    scripts/config -e RTC_DRV_RK808
+
+    scripts/config -e WIRELESS
+    scripts/config -m CFG80211
+    scripts/config -e CFG80211_WEXT
+    scripts/config -e MAC80211
+    scripts/config -e NETDEVICES
+    scripts/config -e WLAN
+
+  build-commands:
+  - |
+    make
+
+  install-commands:
+  - |
+    install -Dm644 "%{image-name}" '%{install-root}%{bootdir}/vmlinuz'
+    install -Dm644 System.map '%{install-root}%{bootdir}/System.map'
+    make INSTALL_MOD_PATH='%{install-root}%{prefix}' modules_install
+
+    rm %{install-root}%{indep-libdir}/modules/*/{source,build}
+
+  - |
+    make INSTALL_DTBS_PATH='%{install-root}%{bootdir}/dtbs' dtbs_install
+
+public:
+  bst:
+    integration-commands:
+    - |
+      cd '%{indep-libdir}/modules'
+      for version in *; do
+        depmod -b '%{prefix}' -a "$version";
+      done
+
+    split-rules:
+      devel:
+        (>):
+        - '%{bootdir}/System.map'
diff --git a/elements/boards/pinephone-pro/repo.bst b/elements/boards/pinephone-pro/repo.bst
new file mode 100644
index 000000000..e3cac671e
--- /dev/null
+++ b/elements/boards/pinephone-pro/repo.bst
@@ -0,0 +1,28 @@
+kind: ostree
+
+build-depends:
+- freedesktop-sdk.bst:vm/prepare-image.bst
+- core-deps/libostree.bst
+- boards/pinebook-pro/filesystem.bst
+- boards/pinebook-pro/initial-scripts.bst
+
+variables:
+  uuidnamespace: aea54278-2587-4075-ae67-8688ace4ce3d
+  ostree-branch: gnome-os/aarch64/pinebook-pro
+
+config:
+  environment:
+  - core-deps/libostree.bst
+  - vm/prepare-image.bst
+  - boards/pinebook-pro/initial-scripts.bst
+  ostree-branch: '%{ostree-branch}'
+  initial-commands:
+  - |
+    prepare-image.sh \
+       --sysroot %{sysroot} \
+       --seed "%{uuidnamespace}" \
+       --rootsource LABEL=root \
+       --efisource LABEL=EFI \
+       --efipath /boot >/dev/null
+
+  - mv %{sysroot}/etc %{sysroot}/usr/etc
diff --git a/elements/boards/pinephone-pro/u-boot.bst b/elements/boards/pinephone-pro/u-boot.bst
new file mode 100644
index 000000000..caff32339
--- /dev/null
+++ b/elements/boards/pinephone-pro/u-boot.bst
@@ -0,0 +1,38 @@
+kind: manual
+
+sources:
+- kind: git_tag
+  url: https://git.eno.space/pbp-uboot.git
+  track: 365495a329c8e92ca4c134562d091df71b75845e
+
+build-depends:
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:components/gzip.bst
+- freedesktop-sdk.bst:components/bc.bst
+- freedesktop-sdk.bst:components/swig.bst
+
+- boards/common/python3-as-python2.bst
+- boards/common/dtc.bst
+
+- boards/pinebook-pro/arm-trusted-firmware.bst
+
+environment:
+  BL31: "%{indep-libdir}/u-boot/%{board}/bl31.elf"
+
+variables:
+  board: pinebook_pro-rk3399
+
+config:
+  configure-commands:
+  - |
+    sed -i "/YYLTYPE yylloc;/d" scripts/dtc/dtc-lexer.l
+
+  - make "%{board}_defconfig"
+
+  build-commands:
+  - make V=1 all
+
+  install-commands:
+  - install -Dm644 -t "%{install-root}%{indep-libdir}/u-boot/%{board}" idbloader.img
+  - install -Dm644 -t "%{install-root}%{indep-libdir}/u-boot/%{board}" u-boot.itb
diff --git a/elements/boards/pinephone-pro/vim.bst b/elements/boards/pinephone-pro/vim.bst
new file mode 100644
index 000000000..9a0d0af89
--- /dev/null
+++ b/elements/boards/pinephone-pro/vim.bst
@@ -0,0 +1,9 @@
+kind: autotools
+
+sources:
+- kind: tar
+  url: github_files:vim/vim/archive/v8.2.0737.tar.gz
+
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]