From d50b858a4c6b6acd7dbc542c47895b3ef1ecf0a4 Mon Sep 17 00:00:00 2001 From: askiiart Date: Thu, 22 May 2025 23:28:36 -0500 Subject: [PATCH] add arm saga part 0 --- README.html | 38 +++++++++++ blog/elitebook-g1q/the-arm-saga-part-0.html | 72 +++++++++++++++++++++ blog/elitebook-g1q/the-arm-saga-part-0.md | 30 +++++++++ blog/feed.xml | 14 ++-- feed.xml | 18 ++++-- 5 files changed, 162 insertions(+), 10 deletions(-) create mode 100644 README.html create mode 100644 blog/elitebook-g1q/the-arm-saga-part-0.html create mode 100644 blog/elitebook-g1q/the-arm-saga-part-0.md diff --git a/README.html b/README.html new file mode 100644 index 0000000..3a4e659 --- /dev/null +++ b/README.html @@ -0,0 +1,38 @@ + + + + + + My site + + + + +

My site

+

Site generation

+

Pages are written as markdown files, then converted to HTML + using md2html.sh, which converts them to pandoc and + fixes some small bits (with sed and + regex-chicanery.py). Then a new RSS feed and + sitemap are generated using generate-rss.sh and + generate-sitemap.xml.

+

Organization

+ +

Errors

+

Error pages are provided by http-status-codes.

+ + + + + diff --git a/blog/elitebook-g1q/the-arm-saga-part-0.html b/blog/elitebook-g1q/the-arm-saga-part-0.html new file mode 100644 index 0000000..e4627dd --- /dev/null +++ b/blog/elitebook-g1q/the-arm-saga-part-0.html @@ -0,0 +1,72 @@ + + + + + + The ARM saga: part 0 + + + + +

The ARM saga: part 0

+

Part 0's gonna be really short, simple, and disorganized, + just going over some things quick. Also, this is as far as I + understand it, which isn't very far; I could be wrong, and if I + have any corrections or anything, then this page will be + updated.

+

Basics

+

ARM laptops are different from x86 ones (duh), rather than + the core system being universal and stuff just requiring + different drivers, Linux on ARM requires device trees like this. + These device trees are then added to the kernel and it Just + Works... except currently, the Elitebook G1q device tree isn't + in the kernel, and it's not expected to be until at least + 6.16.

+

Ubuntu Concept

+

Ubuntu has a concept image available here + that supports the Elitebook G1q's sister laptop, the Omnibook X + 14. When I tried it on my laptop, I had to force it to use the + Omnibook X 14's device tree, which matches up with what was + reported here. + Changing the grub argument from $dtb to + devicetree /casper/dtbs/x1e80100-hp-omnibook-x14.dtb[^1] + (which I found by just mounting the iso) worked to get it + booted. However, it would throws a bunch of weird errors and try + to netboot, then after going through that, would drop me into a + busybox session? So that's definitely some improvement over + nothing, and an alternate way to do stuff if needed, but not + ideal.

+

And I couldn't find a decent way to work this in, but: it + also behaved a bit strangely, both the keyboard and a USB + keyboard wouldn't be recognized in Grub ~50% of the time, not + sure why. I think they would have worked once Ubuntu + was actually started, but given Grub wouldn't auto-boot, I + couldn't test this.

+

Another side note: I also tested Fedora's ARM image, + unsurprisingly it didn't work at all.

+

The Plan

+

Currently, the plan is as follows:

+
    +
  1. Either figure out how to compile the dtbs, or just steal + them from the Ubuntu iso.
  2. +
  3. Add it to the kernel? Steal Ubuntu's kernel? Not sure how + exactly this goes - and cross-compile it.
  4. +
  5. Figure out how to package the kernel?
  6. +
  7. Figure out how to generate custom Fedora isos.
  8. +
+

These will be done out of order, with Fedora iso + generation coming first, since I've been trying to figure that + out for years anyways (the docs are amazing /s).

+
+

[^1] Note that this seems to be mislabeled, as AFAIK both + these laptops only have the X1E-78-100, not the X1E-80-100.

+ + + + + diff --git a/blog/elitebook-g1q/the-arm-saga-part-0.md b/blog/elitebook-g1q/the-arm-saga-part-0.md new file mode 100644 index 0000000..8b2d58f --- /dev/null +++ b/blog/elitebook-g1q/the-arm-saga-part-0.md @@ -0,0 +1,30 @@ +# The ARM saga: part 0 + +Part 0's gonna be really short, simple, and disorganized, just going over some things quick. Also, this is as far as I understand it, which isn't very far; I could be wrong, and if I have any corrections or anything, then this page will be updated. + +## Basics + +ARM laptops are different from x86 ones (duh), rather than the core system being universal and stuff just requiring different drivers, Linux on ARM requires device trees like [this](https://github.com/aarch64-laptops/build/pull/135/commits/394fae75a113093f9680eb815e683818254e1fa0). These device trees are then added to the kernel and it Just Works... except currently, the Elitebook G1q device tree isn't in the kernel, and it's not expected to be until at least 6.16. + +## Ubuntu Concept + +Ubuntu has a concept image available [here](https://discourse.ubuntu.com/t/ubuntu-24-10-concept-snapdragon-x-elite/48800) that supports the Elitebook G1q's sister laptop, the Omnibook X 14. When I tried it on my laptop, I had to force it to use the Omnibook X 14's device tree, which matches up with what was reported [here](https://discourse.ubuntu.com/t/ubuntu-24-10-concept-snapdragon-x-elite/48800/573). Changing the grub argument from `$dtb` to `devicetree /casper/dtbs/x1e80100-hp-omnibook-x14.dtb`[^1] (which I found by just mounting the iso) worked to get it booted. However, it would throws a bunch of weird errors and try to netboot, then after going through that, would drop me into a busybox session? So that's definitely some improvement over nothing, and an alternate way to do stuff if needed, but not ideal. + +And I couldn't find a decent way to work this in, but: it also behaved a bit strangely, both the keyboard and a USB keyboard wouldn't be recognized in Grub ~50% of the time, not sure why. I *think* they would have worked once Ubuntu was actually started, but given Grub wouldn't auto-boot, I couldn't test this. + +Another side note: I also tested Fedora's ARM image, unsurprisingly it didn't work at all. + +## The Plan + +Currently, the plan is as follows: + +1. Either figure out how to compile the dtbs, or just steal them from the Ubuntu iso. +2. Add it to the kernel? Steal Ubuntu's kernel? Not sure how exactly this goes - and cross-compile it. +3. Figure out how to package the kernel? +4. Figure out how to generate custom Fedora isos. + +These *will* be done out of order, with Fedora iso generation coming first, since I've been trying to figure that out for years anyways (the docs are amazing /s). + +--- + +[^1] Note that this seems to be mislabeled, as AFAIK both these laptops only have the X1E-78-100, not the X1E-80-100. diff --git a/blog/feed.xml b/blog/feed.xml index 29a3532..32e15f8 100644 --- a/blog/feed.xml +++ b/blog/feed.xml @@ -5,11 +5,19 @@ askiiart.net blog The feed for askiiart.net but just the blog, I guess https://askiiart.net/blog/ - Tue, 07 Jan 2025 15:30:31 +0000 + Fri, 23 May 2025 04:28:17 +0000 + + The ARM saga: part 0 + https://askiiart.net/til/elitebook-g1q/the-arm-saga-part-0.html + 300 https://askiiart.net/til/300.html + + Another new PGP key + https://askiiart.net/til/another-new-pgp-key.html + Foooooonts! https://askiiart.net/til/foooooonts.html @@ -22,10 +30,6 @@ New PGP key, and new directory https://askiiart.net/til/new-pgp-key.html - - Another new PGP key - https://askiiart.net/til/another-new-pgp-key.html - This page is portable https://askiiart.net/til/this-page-is-portable.html diff --git a/feed.xml b/feed.xml index 982e396..91583b2 100644 --- a/feed.xml +++ b/feed.xml @@ -5,11 +5,19 @@ askiiart.net The feed for askiiart.net, I guess https://askiiart.net - Tue, 07 Jan 2025 15:30:31 +0000 + Fri, 23 May 2025 04:28:17 +0000 + + The ARM saga: part 0 + https://askiiart.net/blog/elitebook-g1q/the-arm-saga-part-0.html + 300 https://askiiart.net/blog/300.html + + Another new PGP key + https://askiiart.net/blog/another-new-pgp-key.html + Foooooonts! https://askiiart.net/blog/foooooonts.html @@ -22,10 +30,6 @@ New PGP key, and new directory https://askiiart.net/blog/new-pgp-key.html - - Another new PGP key - https://askiiart.net/blog/another-new-pgp-key.html - This page is portable https://askiiart.net/blog/this-page-is-portable.html @@ -38,6 +42,10 @@ Using JSON with docker compose https://askiiart.net/til/using-json-with-docker-compose.html + + My site + https://askiiart.net/README.html + My Stack https://askiiart.net/stack.html