~bpv/website

ref: 5fa1d8d194ffb2a7b385b3d9e9e27d10f450eacf website/rss.xml -rw-r--r-- 30.5 KiB
5fa1d8d1 — Bryce Vandegrift Fixed blog instructions 2 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
<rss version="2.0">
	<channel>
		<title>Bryce Vandegrift's Blog</title>
		<description>Updates to Bryce Vandegrift's blog.</description>
		<language>en-us</language>
		<link>https://brycevandegrift.xyz/rss.xml</link>
		<link href="https://brycevandegrift.xyz/rss.xml" rel="self" type="application/rss+xml"/>
<!-- SB -->

<item>
<title>Changing My Website Host</title>
<guid>https://brycevandegrift.xyz/blog/changing-my-website-host/changing-my-website-host.html</guid>
<link>https://brycevandegrift.xyz/blog/changing-my-website-host/changing-my-website-host.html</link>
<pubDate>Sun, 26 Jun 2022 23:21:24 -0400</pubDate>
<description>
<![CDATA[
<h1 id="changing-my-website-host">Changing My Website Host</h1>
<p>For the longest time I have used <a
href="https://www.infinityfree.net/">Infinity Free</a> as the host for
my website since it has free website hosting. However, I haven’t been
able to successfully set up a SSL certificate without using Cloudflare.
Cloudflare has not had a good reputation and, in my opinion, <a
href="https://www.unixsheikh.com/articles/stay-away-from-cloudflare.html">cannot
be trusted</a> <a href="https://www.devever.net/~hl/cloudflare">at
all</a>.</p>
<p>My final solution in the long run is to self host my website and
everything that I need on a home computer. But for now, I have a few
decent choices for hosting my website:</p>
<h2 id="sourcehut">1. <a href="https://sourcehut.org">Sourcehut</a></h2>
<p>Sourcehut provides static website hosting, git repository hosting,
gemini hosting (sadly no gopher hosting) and many other things. The
upside of using Sourcehut versus a lot of other platforms for hosting my
website is that they use only free and open source software for
hosting.</p>
<p>Hosted websites are automatically outfitted with SSL certificates
which reduces the hassle (and they don’t use Cloudflare). My git
repositories are also hosted at Sourcehut so it would make sense to move
my website there. Sourcehut also provides paste bins, mailing lists,
wikis, and more useful tools.</p>
<p>One caveat is that, even though service is currently 100% free (as in
free beer), once Sourcehut is out of alpha, there will probably be a
price tag associated with all the services (although, right now the
price doesn’t look that bad.)</p>
<h2 id="get-a-vps">2. Get a VPS</h2>
<p>This may be my best option in the long run as it’s the closest thing
to self hosting that I can get. I can host my website, git repositories,
as well as almost anything else that I like including chat servers,
forums, email, and etc.</p>
<p>The biggest downside of this is the price, which can vary from a
couple dozen dollars a year to a few <strong>hundred</strong> dollars a
year.</p>
<h2 id="move-to-some-other-3rd-party-static-site-host">3. Move to some
other 3rd party static site host</h2>
<p>I’m probably more likely to self host my website before I resort to
hosting it using <em>another</em> not well known 3rd party service. My
trust in most 3rd party hosts is slowly dwindling as the years go
by.</p>
<h2 id="the-verdict">The verdict</h2>
<p>I currently plan to move my website to Sourcehut hosting for the time
being, however I plan to eventually self host everything I need and
become self reliant. I also might move my website to a more elegant
static site generator as writing and managing everything from scratch is
starting to make everything a bit more cumbersome.</p>
]]>
</description>
</item>

<item>
<title>Corebooting a Thinkpad X220</title>
<guid>https://brycevandegrift.xyz/blog/corebooting-a-thinkpad-x220/corebooting-a-thinkpad-x220.html</guid>
<link>https://brycevandegrift.xyz/blog/corebooting-a-thinkpad-x220/corebooting-a-thinkpad-x220.html</link>
<pubDate>Tue, 31 May 2022 19:45:52 -0500</pubDate>
<description>
<![CDATA[
<h1 id="corebooting-a-thinkpad-x220">Corebooting a Thinkpad X220</h1>
<figure>
<img src="https://brycevandegrift.xyz/p/thinkpad.jpg"
alt="My Thinkpad X220" />
<figcaption aria-hidden="true">My Thinkpad X220</figcaption>
</figure>
<h2 id="you-need">You need</h2>
<ul>
<li>A Thinkpad X220</li>
<li>A Raspberry Pi</li>
<li>Female to female jumper wires</li>
<li>SOIC8 test clip</li>
<li>Another computer</li>
</ul>
<h2 id="disassembly">Disassembly</h2>
<p>For disassembly you can watch my video <a
href="https://www.youtube.com/watch?v=hERguULT7Vo">here</a>.</p>
<p>But you’ll just have to remove all the screws with the keyboard icon
and all the screws with the box(ish) icon. (Like I said, you can watch
the video).</p>
<h2 id="attaching-the-clip-to-the-bios-chip">Attaching the clip to the
BIOS chip</h2>
<p>In order to actually read/write to the BIOS chip you need to attach
the SOIC8 clip to the bios chip.</p>
<h3 id="x220-bios-pinout">X220 BIOS pinout</h3>
<pre><code>                   ______
        MOSI  5 --|      |-- 4  GND
         CLK  6 --| BIOS |-- 3  No Connection
No Connection 7 --|      |-- 2  MISO
   VCC (3.3V) 8 --|______|-- 1  CS</code></pre>
<h3 id="raspberry-pi-pinout">Raspberry PI pinout</h3>
<pre><code>                        CS
  1                     |           20
+-----------------------v-------------+
| x x x x x x x x x x x x x x x x x x |
| x x x x x x x x x x x x x x x x x x |
+-----------------^-^-^-^-------------+
 21               | | | |           40
                VCC | | CLK
               MOSI/   \MISO</code></pre>
<h2 id="setting-up-raspberry-pi">Setting up Raspberry PI</h2>
<p>Make sure to update your Raspberry PI and install and the needed
packages as well as flashrom using these commands:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> apt-get update <span class="kw">&amp;&amp;</span> <span class="fu">sudo</span> apt-get upgrade</span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> apt-get install build-essential pciutils usbutils libpci-dev libusb-dev libftdi1 libftdi-dev zlib1g-dev</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://review.coreboot.org/flashrom.git</span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> flashrom</span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> <span class="at">-j3</span> <span class="kw">&amp;&amp;</span> <span class="fu">sudo</span> make install</span></code></pre></div>
<p>Now we need to download the Coreboot repo on our Raspberry PI.</p>
<div class="sourceCode" id="cb0"><pre class"sourceCode sh"><code class="sourceCode bash"><span id="cb0-1"><a href="#cb0-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone --recursive https://review.coreboot.org/coreboot.git ~/coreboot</span></code></pre></div>
<p>Now we need to install ifdtool on the Raspberry PI, you can do that
by running:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> ~/coreboot/util/ifdtool</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> <span class="at">-j3</span> <span class="kw">&amp;&amp;</span> <span class="fu">sudo</span> make install</span></code></pre></div>
<h2 id="reading-the-bios">Reading the BIOS</h2>
<p>First, we are going to create an alias so we don’t need to type in a
long drawn out command every time we want to read/write to the BIOS.</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="bu">alias</span> fr=<span class="st">&#39;sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1024&#39;</span></span></code></pre></div>
<p>Now we can get the name of our BIOS chip by just running
<code>fr</code>.</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span></span></code></pre></div>
<p>The output should give you multiple chip names. All of these are the
same chip just with different names so you can use any of them, mine is
“MX25L6405”. We are going to use this to set a <code>CHIP</code>
variable.</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="va">CHIP</span><span class="op">=</span><span class="st">&quot;MX25L6405&quot;</span></span></code></pre></div>
<p>We are now ready to read the flash from the BIOS chip. We are going
to do this a few times in order to make sure that the connection is
consistent when reading and writing.</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span> <span class="at">-c</span> <span class="st">&quot;</span><span class="va">$CHIP</span><span class="st">&quot;</span> <span class="at">-r</span> flash01.bin</span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span> <span class="at">-c</span> <span class="st">&quot;</span><span class="va">$CHIP</span><span class="st">&quot;</span> <span class="at">-r</span> flash02.bin</span>
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span> <span class="at">-c</span> <span class="st">&quot;</span><span class="va">$CHIP</span><span class="st">&quot;</span> <span class="at">-r</span> flash03.bin</span>
<span id="cb8-4"><a href="#cb8-4" aria-hidden="true" tabindex="-1"></a><span class="fu">md5sum</span> flash01.bin flash02.bin flash03.bin</span></code></pre></div>
<p>The output for <code>md5sum</code> for all three of the files should
be exactly the same. If the checksum for all three files are not the
same then <strong>DO NOT CONTINUE!!!</strong> Make sure that your
connection is good and retry until everything reads correctly. (If
necessary, the spispeed can be lowered from 1024 for a more reliable
read).</p>
<h2 id="optional-removing-the-management-engine">(Optional) Removing the
management engine</h2>
<p>First we need to download me_cleaner.</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/corna/me_cleaner ~/me_cleaner</span></code></pre></div>
<p>Now we can run me_cleaner on our flash file, in this case I will be
using <code>flash01.bin</code>.</p>
<div class="sourceCode" id="cb10"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="ex">~/me_cleaner/me_cleaner.py</span> <span class="at">-S</span> flash01.bin</span></code></pre></div>
<p>If all goes well you should see a message that says:
<code>Done! Good Luck!</code></p>
<h2 id="separating-the-image">Separating the image</h2>
<p>Now we can run ifdtool on our flash image in order to separate
it.</p>
<div class="sourceCode" id="cb11"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="ex">ifdtool</span> <span class="at">-x</span> flash01.bin</span></code></pre></div>
<p>You should now have four different <code>.bin</code> files: 1.
<code>flashregion_0_flashdescriptor.bin</code> 2.
<code>flashregion_1_bios.bin</code> (Not needed) 3.
<code>flashregion_2_intel_me.bin</code> 4.
<code>flashregion_3_gbe.bin</code></p>
<p>We can now rename all the files to have a shorter name.</p>
<div class="sourceCode" id="cb12"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">mv</span> flashregion_0_descriptor.bin descriptor.bin</span>
<span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a><span class="fu">mv</span> flashregion_2_intel_me.bin me.bin</span>
<span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a><span class="fu">mv</span> flashregion_3_gbe.bin gbe.bin</span></code></pre></div>
<h2 id="setting-up-coreboot">Setting Up Coreboot</h2>
<p>If you want to compile Coreboot on your Raspberry PI you can go
ahead, however it might take anywhere from a few hours to a few
<strong>DAYS</strong>, so be warned. I copied my “.bin” files to my
laptop in order to compile faster.</p>
<p>Now we want to download the Coreboot repo onto our computer that we
are compiling Coreboot on. (This may take a while).
(If you are compiling Coreboot on your Raspberry PI you can skip this).</p>
<div class="sourceCode" id="cb13"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone <span class="at">--recursive</span> https://review.coreboot.org/coreboot.git ~/coreboot</span></code></pre></div>
<blockquote>
<h3 id="optional-downloading-vga-bios">(Optional) Downloading VGA
BIOS</h3>
<p>Windows and some Linux distributions rely on the VGA BIOS in order to
display video. So you can optionally download it if you need it.</p>
<div class="sourceCode" id="cb14"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-fLO</span> <span class="st">&quot;https://github.com/thetarkus/x220-coreboot-guide/raw/master/vga-8086-0126.bin&quot;</span></span></code></pre></div>
</blockquote>
<p>Now we need to make a directory to place our “.bin” files.</p>
<div class="sourceCode" id="cb15"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">mkdir</span> <span class="at">-p</span> ~/coreboot/3rdparty/blobs/mainboard/lenovo/x220</span>
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a><span class="fu">mv</span> descriptor.bin ~/coreboot/3rdparty/blobs/mainboard/lenovo/x220/</span>
<span id="cb15-3"><a href="#cb15-3" aria-hidden="true" tabindex="-1"></a><span class="fu">mv</span> me.bin ~/coreboot/3rdparty/blobs/mainboard/lenovo/x220/</span>
<span id="cb15-4"><a href="#cb15-4" aria-hidden="true" tabindex="-1"></a><span class="fu">mv</span> gbe.bin ~/coreboot/3rdparty/blobs/mainboard/lenovo/x220/</span></code></pre></div>
<h2 id="configuring-coreboot">Configuring Coreboot</h2>
<p>On the computer you’re compiling Coreboot with, you’ll need to
install these development packages (or their equivalents). On Ubuntu,
Debian, or any derivative you can run:</p>
<div class="sourceCode" id="cb16"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> apt-get install git build-essential gnat flex bison libncurses5-dev wget zlib1g-dev</span></code></pre></div>
<p>On Void Linux (what I use) I ran:</p>
<div class="sourceCode" id="cb17"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> xbps-install git base-devel ncurses-devel wget zlib-devel gcc-ada</span></code></pre></div>
<p>Now we can go into the Coreboot directory and run
<code>make nconfig</code>.</p>
<div class="sourceCode" id="cb18"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> ~/coreboot</span>
<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> nconfig</span></code></pre></div>
<p>You should see a menu pop up, now we can configure our Coreboot
build. Below is a list of what needs to be enabled, you can leave the
rest of the settings just the way they are.</p>
<pre><code>General Setup
    - [*] Compress ramstage with LZMA
    - [*] Include coreboot .config file into the ROM image
    - [*] Allow use of binary-only repository

Mainboard
    - Mainboard vendor (Lenovo)
    - Mainboard model (Thinkpad X220)
    - ROM chip size (8192 KB (8 MB))
    - (0x100000) Size of CBFS filesystem in ROM

Chipset
    - [*] Enable VMX for virtualization
    - Include CPU microcode in CBFS (Generate from tree)
    - Flash ROM locking on S3 resume (Don&#39;t lock ROM sections on S3 resume)
    - [*] Add Intel descriptor.bin file
      (3rdparty/blobs/mainboard/$(MAINBOARDDIR)/descriptor.bin) Path and filename of the descriptor.bin file
    - [*] Add Intel ME/TXE firmware
      (3rdparty/blobs/mainboard/$(MAINBOARDDIR)/me.bin) Path to management engine firmware
    - [*] Add gigabit ethernet firmware
      (3rdparty/blobs/mainboard/$(MAINBOARDDIR)/gbe.bin) Path to gigabit ethernet firmware
      
Devices
    - Graphics initialization (Run VGA Option ROMs)
    - [*] Use native graphics initialization
    - [*] Add a VGA BIOS image
      (/home/$USER/vga-8086-0126.bin) VGA BIOS path and filename
      (8086,0126) VGA device PCI IDs
      
Generic Drivers
    - [*] PS/2 keyboard init
    - [*] Support Intel PCI-e WiFi adapters

Console
    - [*] Squelch AP CPUs from early console.
    - [*] Show POST codes on the debug console

System tables
    - [*] Generate SMBIOS tables

Payload
    - Add a payload (SeaBIOS)
    - SeaBIOS version (master)
    - (3000) PS/2 keyboard controller initialization timeout (milliseconds)
    - [*] Harware init during option ROM execution
    - [*] Include generated option rom that implements legacy VGA BIOS compatibility
    - [*] Use LZMA compression for payloads</code></pre>
<p>You can press <code>F6</code> to save your config and then press
<code>F9</code> to exit. Now we can actually compile Coreboot now.</p>
<blockquote>
<h3 id="optional-create-cross-compiler">(Optional) Create Cross
Compiler</h3>
<p>If you don’t have an <code>i386</code> cross compiler you can make
one by running:</p>
<div class="sourceCode" id="cb20"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> crossgcc-i386</span>
<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> iasl</span></code></pre></div>
</blockquote>
<p>Let’s compile coreboot by running:</p>
<div class="sourceCode" id="cb21"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> <span class="at">-j</span><span class="va">$(</span><span class="fu">nproc</span><span class="va">)</span></span></code></pre></div>
<p>This might take a while.</p>
<p><strong>NOTE</strong>: If you can’t compile Coreboot, try checking
and making sure you did everything correctly.</p>
<h2 id="flashing-coreboot">Flashing Coreboot</h2>
<p><strong>WARNING: Proceed with caution, you can possibly brick your
computer if you are not careful!!!</strong></p>
<p>You should now be left with a file named <code>coreboot.rom</code> in
the <code>~/coreboot</code> directory. You can copy this file back to
your Raspberry PI into order to flash it.</p>
<p>Now let’s go ahead and read our flash chip again to make sure that
our connection is still good.</p>
<div class="sourceCode" id="cb22"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span> <span class="at">-c</span> <span class="st">&quot;</span><span class="va">$CHIP</span><span class="st">&quot;</span> <span class="at">-r</span> flash01.bin</span>
<span id="cb22-2"><a href="#cb22-2" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span> <span class="at">-c</span> <span class="st">&quot;</span><span class="va">$CHIP</span><span class="st">&quot;</span> <span class="at">-r</span> flash02.bin</span>
<span id="cb22-3"><a href="#cb22-3" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span> <span class="at">-c</span> <span class="st">&quot;</span><span class="va">$CHIP</span><span class="st">&quot;</span> <span class="at">-r</span> flash03.bin</span>
<span id="cb22-4"><a href="#cb22-4" aria-hidden="true" tabindex="-1"></a><span class="fu">md5sum</span> flash01.bin flash02.bin flash03.bin</span></code></pre></div>
<p>And, like before, if all the checksums match, you can go ahead and
flash <code>coreboot.rom</code>.</p>
<div class="sourceCode" id="cb23"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="ex">fr</span> <span class="at">-c</span> <span class="st">&quot;</span><span class="va">$CHIP</span><span class="st">&quot;</span> <span class="at">-w</span> coreboot.rom</span></code></pre></div>
<p>Now, for the moment of truth, go ahead and boot your Thinkpad. If it
won’t boot, don’t sweat, just rebuild and try again. If Coreboot won’t
work on your Thinkpad no matter what you try, then you can just flash a
backup of the BIOS that you read earlier and your computer should work
just fine.</p>
<h2 id="aftermath">Aftermath</h2>
<p><strong>Congrats!!!</strong> You successfully freed your computer
from the spying eyes of Intel and your local three letter government
agency. You can now enjoy your computing in peace.</p>
<h3 id="contact">Contact</h3>
<p>If you have any questions or comments you can find my contact info on my
home page <a href="https://brycevandegrift.xyz/">here</a>.</p>
]]>
</description>
</item>

<item>
<title>Gone for Two Weeks</title>
<guid>https://brycevandegrift.xyz/blog/gone-for-two-weeks/gone-for-two-weeks.html</guid>
<link>https://brycevandegrift.xyz/blog/gone-for-two-weeks/gone-for-two-weeks.html</link>
<pubDate>Fri, 13 May 2022 16:26:37 -0500</pubDate>
<description>
<![CDATA[
<h1 id="gone-for-two-weeks">Gone for Two Weeks</h1>
<p>For the past two weeks I have been working/volunteering for <a
href="https://www.roboticseducation.org/vex-robotics-world-championship/">VEX
Worlds</a> 2022 in Dallas, Texas. So if you have been expecting a video
recently, then sorry about that. But, if any of you reading this are in
middle school/high school then this event might be interesting to you if
you like robotics (or just VEX robotics in general).</p>
<p>If requested, I could make a video on the whole event, but I don’t
think that it would be of much interest to any of you (especially since
it didn’t even interest me that much).</p>
]]>
</description>
</item>

<item>
<title>Website Redesign</title>
<guid>https://brycevandegrift.xyz/blog/website-redesign/website-redesign.html</guid>
<link>https://brycevandegrift.xyz/blog/website-redesign/website-redesign.html</link>
<pubDate>Mon, 07 Mar 2022 16:51:49 -0500</pubDate>
<description>
<![CDATA[
<h1 id="website-redesign">Website Redesign</h1>
<p>I have decided to redesign most of my website. It’s mostly a facelift, but there are a couple under-the-hood changes done.</p>
<p>I have also decided to officially add a link to my <a href="https://www.youtube.com/channel/UCOSqzSTg4QZXdi7jvV-9rUg">YouTube channel</a> on my homepage, as well as add a link to my <a href="https://sr.ht/~bpv/">Sourcehut page</a> and my <a href="https://brycevandegrift.xyz/rss.xml">rss feed</a>.</p>
<p>I plan to reorganize my website as time goes on, but for now a simple redesign will do. I also plan to at least convert my homepage to <a href="https://www.w3schools.com/Html/html_xhtml.asp">xhtml</a> in the future, as I think that I would provide a bit more compatibility with web browsers.</p>
<p>As time goes on I will make changes to my website as needed.</p>
<h2 id="a-note-about-github-and-gitlab">A note about GitHub and GitLab</h2>
<p>If you don’t know already, I am not a big fan of GitHub. I don’t like having a GitHub account, but it’s almost necessary for collaborating on projects. I have updated my <a href="https://github.com/BryceVandegrift">GitHub account</a> and created a <a href="https://gitlab.com/BryceVandegrift">GitLab account</a> for hosting my git repos. Don’t expect me to answer issues or accept code from these platforms (for now (although that might change)), for that please visit my Sourcehut page.</p>
]]>
</description>
</item>

<item>
<title>New YouTube Channel</title>
<guid>https://brycevandegrift.xyz/blog/new-youtube-channel/new-youtube-channel.html</guid>
<link>https://brycevandegrift.xyz/blog/new-youtube-channel/new-youtube-channel.html</link>
<pubDate>Sun, 20 Feb 2022 22:18:03 -0500</pubDate>
<description>
<![CDATA[
<h1 id="new-youtube-channel">New YouTube Channel</h1>
<p>Recently, I have decided to start up a YouTube channel. I mostly plan to upload informative videos, but things could always change. Right now, I am uploading videos about GNU/Linux and other technical topics related to technology, however I believe that I will expand in the future.</p>
<p>In the future, I plan to upload all of my past and future videos onto Odysee/LBRY as I think it’s a superior platform compared to YouTube. I might even consider uploading to other niche video sites eventually.</p>
<p>You can view my first video about GnuPG (GPG) <a href="https://youtu.be/GhiLR4zRqMI">here</a>.</p>
<p><a href="https://www.youtube.com/channel/UCOSqzSTg4QZXdi7jvV-9rUg">YouTube link</a></p>
]]>
</description>
</item>

<item>
<title>Personal Update</title>
<guid>https://brycevandegrift.xyz/blog/personal-update/personal-update.html</guid>
<link>https://brycevandegrift.xyz/blog/personal-update/personal-update.html</link>
<pubDate>Tue, 01 Feb 2022 17:07:55 -0500</pubDate>
<description>
<![CDATA[
<h1 id="personal-update">Personal Update</h1>
<p>Recently, I have been pretty busy with college classes and haven’t had much time to work on personal projects. In addition to classes I have also been busy with other personal aspects of life which I would not like to disclose currently. I will be active again once I finish the semester (hopefully).</p>
<p>If anything comes up feel free to email me at: <a href="mailto://bryce@brycevandegrift.xyz">bryce@brycevandegrift.xyz</a>.</p>
]]>
</description>
</item>

<item>
<title>My Thoughts on BSDs</title>
<guid>https://brycevandegrift.xyz/blog/my-thoughts-on-bsds/my-thoughts-on-bsds.html</guid>
<link>https://brycevandegrift.xyz/blog/my-thoughts-on-bsds/my-thoughts-on-bsds.html</link>
<pubDate>Fri, 31 Dec 2021 17:57:31 -0600</pubDate>
<description>
	<![CDATA[ <h1 id="my-thoughts-on-bsds">My Thoughts on BSDs</h1>
<p>For those of you who are not a big fan of Linux but want something that caters more to the Unix philosophy, a distribution of BSD (Berkeley Software Distribution) may be right for you. Unlike Linux, most BSD systems’ tools, kernels, and programs are built from the ground up for that specific BSD distribution. This also means that it can take a while for a feature or program that’s popular on Linux to make its way to a specific BSD distribution. But, BSD it is worth a try nonetheless.</p>
<p>There are four major versions of BSD that I believe to be useable as an everyday operating system: FreeBSD, OpenBSD, NetBSD, and DragonFlyBSD.</p>
<h2 id="freebsd">FreeBSD</h2>
<p><a href="https://www.freebsd.org/">FreeBSD</a> is probably the most popular BSD distribution of all time. FreeBSD has the most packages, the most support, and the most users compared to any other BSD distribution. FreeBSD’s default file system choices are UFS (Unix File System) and ZFS (Z File System) which isn’t that bad considering ZFS is a pretty reliable file system. FreeBSD also has support of other file systems like FAT and EXT as well as Linux binary compatibility which is pretty nice. To be honest FreeBSD has a lot of cool and interesting features that are worth checking out.</p>
<h2 id="openbsd">OpenBSD</h2>
<p><a href="https://www.openbsd.org/">OpenBSD</a> is another flavor of BSD that is focused more on security than anything other operating system. The people behind OpenBSD are also some of the same people behind projects like OpenSSH, LibreSSL, and even tmux (to some degree). Although OpenBSD lacks a decent amount of software and certain features, it makes up for it in system security and stability. Overall, I would say that it is a pretty solid operating system.</p>
<h2 id="netbsd">NetBSD</h2>
<p><a href="https://netbsd.org/">NetBSD</a> is a distribution of BSD that is focused on portability more than any other operating system out there. NetBSD is also well known for its low resource usage as well. NetBSD not only has support for amd64, i386, and arm, but it also supports more obscure architectures like mips, powerpc, riscv, and more. NetBSD is also very small and can be stripped down even from it’s very small state. I remember hearing rumors about NetBSD being able to run on a literal toaster in the past, which I find pretty impressive. If you prefer size and portability over anything else, I would recommend NetBSD.</p>
<h2 id="dragonflybsd">DragonFlyBSD</h2>
<p><a href="https://www.dragonflybsd.org/">DragonFlyBSD</a> is a distribution of BSD that is tailored for performance and speed. I believe that DragonFlyBSD definitely delivers on it’s promise of speed. Overall multi-threading and multi-processor support as well as speed is very competitive with even the fastest of Linux systems. Swapcache, a different type of swap made for DragonFlyBSD, also helps with greatly boosting performance for large workloads. The HAMMER file systems are also very neat. The HAMMER file systems have instant crash recovery, snapshots, support for multiple volumes, and much more. If you want a fast and efficient operating system, I would definitely recommend trying DragonFlyBSD.</p>
<p><img src="https://brycevandegrift.xyz/p/bsd.png" /></p> ]]>
</description>
</item>

<item>
<title>New Blog</title>
<guid>https://brycevandegrift.xyz/blog/new-blog/new-blog.html</guid>
<link>https://brycevandegrift.xyz/blog/new-blog/new-blog.html</link>
<pubDate>Mon, 29 Nov 2021 22:07:54 -0600</pubDate>
<description>
	<![CDATA[ <h1 id="new-blog">New Blog</h1>
<p>Recently, I have been working on a new blog system that takes Markdown and converts it into a very simple HTML page as well as an RSS feed. The blog system is written entirely in POSIX shell and is around 100 lines of code.</p>
<p>If succesful, it should generate a blog page, an RSS feed, as well as a rolling blog index page. The only downside is that it requires Pandoc which isn’t that small of a package, but it makes making blog posts a lot easier to write as I can write in Markdown instead of HTML.</p>
<p>I based some of it from Luke Smith’s blog script <a href="https://github.com/LukeSmithxyz/lb">here</a>. I have added a few querks of my own and I also plan to greatly expand on it in the future.</p>]]>
</description>
</item>
</channel>
</rss>