72 lines
4.1 KiB
HTML
72 lines
4.1 KiB
HTML
<!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>) <a href="/feed.xml">rss</a> <a href="/pubkey.asc">pubkey</a></p>
|
|
</footer>
|
|
</html>
|