update blog.org file

Amolith created

Change summary

blog.org | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 80 insertions(+), 4 deletions(-)

Detailed changes

blog.org 🔗

@@ -4,9 +4,12 @@
 #+HUGO_FRONT_MATTER_FORMAT: yaml
 #+ORG-HUGO-EXTERNAL-FILE-EXTENSIONS-ALLOWED-FOR-COPYING: nil
 
-* Refile
-** Focus intentionally
-
+* Meta :@Meta:
+** TODO Focus intentionally
+:PROPERTIES:
+:EXPORT_FILE_NAME: focus-intentionally
+:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :toc true
+:END:
 I am too easily distracted. Sitting at my desk on an average day, I have movies,
 TV shows, and YouTube videos, about a million different chat applications, my
 email client, Steam, and a web browser with yet more chat apps plus social media
@@ -43,7 +46,11 @@ motivation must be rather high.
 *** References
 - [[https://www.artofmanliness.com/character/behavior/monotasking-podcast/][The Art of Manliness: Become a Focused Monotasker]]
 - [[https://www.artofmanliness.com/character/habits/podcast-581-the-tiny-habits-that-change-everything/][The Art of Manliness: The Tiny Habits That Change Everything]]
-* Meta                                                                :@Meta:
+** TODO Email can be pleasant, but like all good things, it takes work
+:PROPERTIES:
+:EXPORT_FILE_NAME: email-can-be-pleasant-but-like-all-good-things-it-takes-work
+:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :toc true
+:END:
 * Technology                                                    :@Technology:
 ** DONE (Ab)using mesh networks for easy remote support :Mesh__networking:Open__source:Remote__support:
 CLOSED: [2021-11-01 Mon 02:51]
@@ -581,6 +588,75 @@ Exactly how you do /that/ is */definitely/* beyond the scope of this post :P
 If you set any of this up, I would be interested to hear how it goes! As
 stated earlier, my contact information is at the bottom of the site's
 home page :)
+** TODO FreeBSD quirks on the Framework laptop :FreeBSD:Framework:
+:PROPERTIES:
+:EXPORT_FILE_NAME: freebsd-quirks-on-the-framework-laptop
+:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :toc true
+:END:
+This is primarily intended for people new to FreeBSD. If you're already familiar
+with it, [[https://wiki.freebsd.org/Laptops/Framework_Laptop][the wiki page]] will probably tell you everything you need. I had no idea
+what I was doing so I had no idea what I was looking for! I had been beating my
+head against a wall for about three hours before I decided to join ~#freebsd~ on
+[[https://libera.chat/][Libera.Chat]]; the people there were friendly, helpful, and gave me tons of great
+advice. I highly recommend popping in if you have any issues!
+
+*** The Handbook
+Open [[https://docs.freebsd.org/en/books/handbook/][the handbook.]] Follow [[https://docs.freebsd.org/en/books/handbook/][the handbook.]] Read [[https://docs.freebsd.org/en/books/handbook/][the whole handbook.]] The developers
+spend a /lot/ of time making sure it's the best resource available for learning
+FreeBSD. In most cases, it will have an answer for any question related to
+FreeBSD.
+
+That said, the Framework laptop is so new that it's not fully supported by the
+current stable release, so for now, we'll need to diverge a bit. This guide is
+really only applicable until the release of FreeBSD 13.1 and until ~drm-kmod~ hits
+version 5.5+. Once those two criteria are met, following the handbook should be
+entirely sufficient!
+
+*** The Source
+In section 2.5.3 of the handbook/installer, make sure you tick the ~src~ box to
+download the FreeBSD source code. It'll be necessary for building our graphics
+drivers later on.
+
+*** The Graphics
+This is where things are less-than-ideal at the moment. /Usually/, installing
+[[https://cgit.freebsd.org/ports/tree/graphics/drm-kmod][graphics/drm-kmod]] would be sufficient, but the version in both FreeBSD's package
+repos and in the ports tree is too old. At the time of writing, it's compatible
+with Linux kernel 5.4 while the Framework's drivers are in Linux kernel 5.5+.
+We'll need to clone the /sources/ for ~graphics/drm-kmod~, check out a more recent
+branch, build the drivers, and use those instead.
+
+I'm not 100% certain whether the first step here is necessary but I don't feel
+like reinstalling to check.
+
+1. Install ~graphics/drm-kmod~ with ~pkg install drm-kmod~
+2. Install ~devel/git~ with ~pkg install git~
+3. Clone ~drm-kmod~'s source with
+   #+BEGIN_SRC bash
+git clone https://github.com/freebsd/drm-kmod
+   #+END_SRC
+4. Check out the ~5.7-stable~ branch with
+   #+BEGIN_SRC bash
+git checkout -b 5.7-stable --track remotes/origin/5.7-stable
+   #+END_SRC
+5. Build the package with ~make~
+6. Uninstall ~drm-kmod~ and all of its dependencies with ~pkg remove drm-kmod~
+   followed by ~pkg autoremove~
+7. Install the more up-to-date drivers with ~make install~
+8. Make sure the module works as expected with ~kldload /boot/modules/i915kms.ko~
+9. If you suddenly see grey in your terminal, it works! Go ahead and add it to
+   your boot config by appending the following line to ~/etc/rc.conf~
+  #+BEGIN_SRC text
+kld_load="/boot/modules/i915kms.ko"
+  #+END_SRC
+10. Reboot and you should be able to start Xorg as the handbook describes!
+
+Again all of this information is available on [[https://wiki.freebsd.org/Laptops/Framework_Laptop][the FreeBSD wiki page for the
+Framework laptop.]] The ~Graphics~ row in section 2 says /requires DRM-KMOD 5.5 or
+higher. Fails to initialize with DRM-KMOD 5.4./ That's in reference to the
+package we just built and installed.
+
+Hope this helps!
+
 ** TODO A perfect email setup (for me) :Email:Workflow:
 :PROPERTIES:
 :EXPORT_FILE_NAME: a-perfect-email-setup-for-me