[gnome-build-meta/valentindavid/pinebook-pro: 8/11] Tweak resize-root to find root partition by label



commit 7553537e9d0777b5ab8a09e348c3040686a79b0c
Author: Valentin David <valentin david codethink co uk>
Date:   Mon Apr 13 10:48:37 2020 +0000

    Tweak resize-root to find root partition by label
    
    U-Boot does not provide variables at runtime, only at boot.
    So udev does not enable /dev/gpt-auto-root

 elements/boards/pinebook-pro/deps.bst              |  2 +-
 elements/boards/pinebook-pro/image.bst             |  2 ++
 elements/boards/pinebook-pro/tweak-resize-root.bst | 31 ++++++++++++++++++++++
 3 files changed, 34 insertions(+), 1 deletion(-)
---
diff --git a/elements/boards/pinebook-pro/deps.bst b/elements/boards/pinebook-pro/deps.bst
index 538ffed2..c1429f91 100644
--- a/elements/boards/pinebook-pro/deps.bst
+++ b/elements/boards/pinebook-pro/deps.bst
@@ -28,7 +28,7 @@ runtime-depends:
 - core/systemd-presets.bst
 
 - boards/pinebook-pro/initramfs.bst
-- vm/resize-root.bst
+- boards/pinebook-pro/tweak-resize-root.bst
 - vm/eos-repartition.bst
 
 - boards/pinebook-pro/keyboard-updater.bst
diff --git a/elements/boards/pinebook-pro/image.bst b/elements/boards/pinebook-pro/image.bst
index 330fa2ca..c0ffca38 100644
--- a/elements/boards/pinebook-pro/image.bst
+++ b/elements/boards/pinebook-pro/image.bst
@@ -37,6 +37,8 @@ config:
   - 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} \
diff --git a/elements/boards/pinebook-pro/tweak-resize-root.bst 
b/elements/boards/pinebook-pro/tweak-resize-root.bst
new file mode 100644
index 00000000..6dccfa02
--- /dev/null
+++ b/elements/boards/pinebook-pro/tweak-resize-root.bst
@@ -0,0 +1,31 @@
+kind: manual
+
+# U-Boot does not provide EFI variables after boot has been completed.
+# So udev is not capable of finding the ESP, and it needs the active
+# ESP to be in the same partition table as the root partition.
+
+sources:
+- kind: local
+  path: files/vm/resize-root/resize-root.service
+- kind: local
+  path: files/vm/resize-root/resize-root.preset
+
+depends:
+- freedesktop-sdk.bst:components/systemd.bst
+
+build-depends:
+- freedesktop-sdk.bst:components/pkg-config.bst
+
+config:
+  build-commands:
+  - |
+    sed -i 's,/dev/gpt-auto-root,/dev/disk/by-label/root,' resize-root.service
+
+  install-commands:
+  - |
+    unitdir="$(pkg-config --variable=systemdsystemunitdir systemd)"
+    install -Dm644 -t "%{install-root}${unitdir}" resize-root.service
+
+  - |
+    presetdir="$(pkg-config --variable=systemdsystempresetdir systemd)"
+    install -Dm644 -t "%{install-root}${presetdir}" resize-root.preset


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