add arm saga part 0

This commit is contained in:
askiiart 2025-05-22 23:28:36 -05:00
parent c434f02745
commit d50b858a4c
Signed by untrusted user who does not match committer: askiiart
GPG key ID: 6A32977DAF31746A
5 changed files with 162 additions and 10 deletions

38
README.html Normal file
View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta content="width=device-width, initial-scale=1" charset="utf-8" />
<link rel="icon" href="/assets/askiiart.avif" type="image/icon">
<title>My site</title>
<link href="/style.css" type="text/css" rel="stylesheet" />
<link href="/prism.css" rel="stylesheet" />
</head>
<body class="line-numbers">
<h1 id="my-site">My site</h1>
<h2 id="site-generation">Site generation</h2>
<p>Pages are written as markdown files, then converted to HTML
using <code>md2html.sh</code>, which converts them to pandoc and
fixes some small bits (with <code>sed</code> and
<code>regex-chicanery.py</code>). Then a new RSS feed and
sitemap are generated using <code>generate-rss.sh</code> and
<code>generate-sitemap.xml</code>.</p>
<h2 id="organization">Organization</h2>
<ul>
<li>Standard blog posts go in <code>/blog/</code></li>
<li>Today I learned stuff goes in <code>/til/</code></li>
<li>Misc data go in <code>/data/</code></li>
<li>Assets (images, videos, etc) go in <code>/assets/</code>,
lining up with the organization of the page they go to (e.g.
<code>/blog/marlin-boot-animations.{md,html}</code> -&gt;
<code>/assets/blog/marlin-boot-animations/</code>)</li>
</ul>
<h2 id="errors">Errors</h2>
<p>Error pages are provided by <a
href="https://git.askiiart.net/askiiart/http-status-codes">http-status-codes</a>.</p>
<iframe src="https://john.citrons.xyz/embed?ref=askiiart.net" style="margin-left:auto;display:block;margin-right:auto;max-width:732px;width:100%;height:94px;border:none;"></iframe>
<script src="/prism.js"></script>
</body>
<footer>
<p><a href="https://git.askiiart.net/askiiart/askiiart-net">code</a> (<a href="https://github.com/askiiart/askiiart.github.io">mirror</a>)&emsp;<a href="/feed.xml">rss</a>&emsp;<a href="/pubkey.asc">pubkey</a></p>
</footer>
</html>

View file

@ -0,0 +1,72 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta content="width=device-width, initial-scale=1" charset="utf-8" />
<link rel="icon" href="/assets/askiiart.avif" type="image/icon">
<title>The ARM saga: part 0</title>
<link href="/style.css" type="text/css" rel="stylesheet" />
<link href="/prism.css" rel="stylesheet" />
</head>
<body class="line-numbers">
<h1 id="the-arm-saga-part-0">The ARM saga: part 0</h1>
<p>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.</p>
<h2 id="basics">Basics</h2>
<p>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 <a
href="https://github.com/aarch64-laptops/build/pull/135/commits/394fae75a113093f9680eb815e683818254e1fa0">this</a>.
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.</p>
<h2 id="ubuntu-concept">Ubuntu Concept</h2>
<p>Ubuntu has a concept image available <a
href="https://discourse.ubuntu.com/t/ubuntu-24-10-concept-snapdragon-x-elite/48800">here</a>
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 <a
href="https://discourse.ubuntu.com/t/ubuntu-24-10-concept-snapdragon-x-elite/48800/573">here</a>.
Changing the grub argument from <code>$dtb</code> to
<code>devicetree /casper/dtbs/x1e80100-hp-omnibook-x14.dtb</code>[^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.</p>
<p>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 <em>think</em> they would have worked once Ubuntu
was actually started, but given Grub wouldn't auto-boot, I
couldn't test this.</p>
<p>Another side note: I also tested Fedora's ARM image,
unsurprisingly it didn't work at all.</p>
<h2 id="the-plan">The Plan</h2>
<p>Currently, the plan is as follows:</p>
<ol type="1">
<li>Either figure out how to compile the dtbs, or just steal
them from the Ubuntu iso.</li>
<li>Add it to the kernel? Steal Ubuntu's kernel? Not sure how
exactly this goes - and cross-compile it.</li>
<li>Figure out how to package the kernel?</li>
<li>Figure out how to generate custom Fedora isos.</li>
</ol>
<p>These <em>will</em> 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).</p>
<hr />
<p>[^1] Note that this seems to be mislabeled, as AFAIK both
these laptops only have the X1E-78-100, not the X1E-80-100.</p>
<iframe src="https://john.citrons.xyz/embed?ref=askiiart.net" style="margin-left:auto;display:block;margin-right:auto;max-width:732px;width:100%;height:94px;border:none;"></iframe>
<script src="/prism.js"></script>
</body>
<footer>
<p><a href="https://git.askiiart.net/askiiart/askiiart-net">code</a> (<a href="https://github.com/askiiart/askiiart.github.io">mirror</a>)&emsp;<a href="/feed.xml">rss</a>&emsp;<a href="/pubkey.asc">pubkey</a></p>
</footer>
</html>

View file

@ -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.

View file

@ -5,11 +5,19 @@
<title>askiiart.net blog</title>
<description>The feed for askiiart.net but just the blog, I guess</description>
<link>https://askiiart.net/blog/</link>
<lastBuildDate>Tue, 07 Jan 2025 15:30:31 +0000</lastBuildDate>
<lastBuildDate>Fri, 23 May 2025 04:28:17 +0000</lastBuildDate>
<item>
<title>The ARM saga: part 0</title>
<link>https://askiiart.net/til/elitebook-g1q/the-arm-saga-part-0.html</link>
</item>
<item>
<title>300</title>
<link>https://askiiart.net/til/300.html</link>
</item>
<item>
<title>Another new PGP key</title>
<link>https://askiiart.net/til/another-new-pgp-key.html</link>
</item>
<item>
<title>Foooooonts!</title>
<link>https://askiiart.net/til/foooooonts.html</link>
@ -22,10 +30,6 @@
<title>New PGP key, and new directory</title>
<link>https://askiiart.net/til/new-pgp-key.html</link>
</item>
<item>
<title>Another new PGP key</title>
<link>https://askiiart.net/til/another-new-pgp-key.html</link>
</item>
<item>
<title>This page is portable</title>
<link>https://askiiart.net/til/this-page-is-portable.html</link>

View file

@ -5,11 +5,19 @@
<title>askiiart.net</title>
<description>The feed for askiiart.net, I guess</description>
<link>https://askiiart.net</link>
<lastBuildDate>Tue, 07 Jan 2025 15:30:31 +0000</lastBuildDate>
<lastBuildDate>Fri, 23 May 2025 04:28:17 +0000</lastBuildDate>
<item>
<title>The ARM saga: part 0</title>
<link>https://askiiart.net/blog/elitebook-g1q/the-arm-saga-part-0.html</link>
</item>
<item>
<title>300</title>
<link>https://askiiart.net/blog/300.html</link>
</item>
<item>
<title>Another new PGP key</title>
<link>https://askiiart.net/blog/another-new-pgp-key.html</link>
</item>
<item>
<title>Foooooonts!</title>
<link>https://askiiart.net/blog/foooooonts.html</link>
@ -22,10 +30,6 @@
<title>New PGP key, and new directory</title>
<link>https://askiiart.net/blog/new-pgp-key.html</link>
</item>
<item>
<title>Another new PGP key</title>
<link>https://askiiart.net/blog/another-new-pgp-key.html</link>
</item>
<item>
<title>This page is portable</title>
<link>https://askiiart.net/blog/this-page-is-portable.html</link>
@ -38,6 +42,10 @@
<title>Using JSON with docker compose</title>
<link>https://askiiart.net/til/using-json-with-docker-compose.html</link>
</item>
<item>
<title>My site</title>
<link>https://askiiart.net/README.html</link>
</item>
<item>
<title>My Stack</title>
<link>https://askiiart.net/stack.html</link>