Watch me brick my PC!

Hey! Here are my goals learning Linux:

  • Do Linux From Scratch
  • Master “The Linux Command Line” by William Shotts
  • Get the LPI “Linux Essentials” cert
  • Install Arch btw

My third Linux machine

In November 2024, I bought a $140 Minisforum miniPC just for Linux From Scratch. I joke that I’m taking bets on how long it will take me to brick it.

Documenting stuff

I found myself documenting what I was doing (or trying to do) with Linux From Scratch so closely that I thought WHY DON’T I POST IT??!


  • Adding the LFS User
    Ch. 4.3 of the manual. Add LFS user and group sudo groupadd lfssudo useradd -s /bin/bash -g lfs -m -k /dev/null lfs This adds user lfs, -m creates a home directory for user lfs-k /dev/null prevents something-s /bin/bash makes bash its default shell. Add user lfs password sudo passwd lfs It responds “bad password” and… Read more: Adding the LFS User
  • (Not) updating Ubuntu
    “Not all updates can be installed. Run a partial upgrade…” I decide to do nothing. Do I have a development version of Ubuntu? lsb_release -a No. I see Ubuntu 24.04.3 was released on August 7th. Some conversations on the topic: https://askubuntu.com/questions/1443779/why-doesnt-this-software-updater-warning-tell-me-what-is-going-to-be-installed https://askubuntu.com/questions/1554162/ubuntu-24-04-is-asking-for-a-partial-upgrade https://www.reddit.com/r/Ubuntu/comments/1mjhbag/ubuntu_2404_is_offering_a_partial_upgrade/ I also notice that the versions are referred to as “Focal” and… Read more: (Not) updating Ubuntu
  • For Loop from Hell
    The next part of LFS Ch. 4.2, creating a limited directory layout. Descent into Hell The manual says: As root, for i in in lib sbin; do ln -sv usr/$i $LFS/$i done Google AI Mode explained that the “usr” in this code is relative to $LFS and therefore will be in $LFS and not in… Read more: For Loop from Hell
  • Creating limited directory layout
    Beginning LFS 4.2. I think this was the first of what was eventually five lines of code (three of which exactly as in the manual) that took two hours with Google AI Mode to establish and then quite a lot of time to carry out. The first line from the manual was at least straightforward… Read more: Creating limited directory layout
  • Finishing up LFS section 3.1
    After everything is downloaded, finish section 3.1 by cleaning up the owners of the downloaded files. Check $LFS variable and that it is mounted echo $LFSmount Change all owners to root rather than to who downloaded them (as I understand it): sudo chown root:root $LFS/sources/*
  • Final list of downloaded files
    Downloaded 7/22/2025 and 7/25/2025 to $LFS/sources acl-2.3.2.tar.xz attr-2.5.2.tar.gz autoconf-2.72.tar.xz automake-1.17.tar.xz bash-5.2.37.tar.gz bc-7.0.3.tar.xz binutils-2.44.tar.xz bison-3.8.2.tar.xz bzip2-1.0.8.tar.gz check-0.15.2.tar.gz coreutils-9.6.tar.gz dbus-1.16.0.tar.xz – not in manual – retrieved by wget-list, does not have md5sum in file dejagnu-1.6.3.tar.gz diffutils-3.11.tar.gz e2fsprogs-1.47.2.tar.gz elfutils-0.192.tar.bz2 expat-2.7.1.tar.xz – downloaded from sourceforge 7/25/2025 – https://sourceforge.net/projects/expat/files/expat/2.7.1/expat-2.7.1.tar.xz/downloadsourceforge.net/projects/expat redirected from prdownloads.sourceforge.net/expat expect5.45.4.tar.gz file-5.46.tar.gz findutils-4.10.0.tar.xz flex-2.6.4.tar.gz flit_core-3.11.0.tar.gz gawk-5.3.1.tar.xz gcc-14.2.0.tar.xz gdbm-1.24.tar.gz… Read more: Final list of downloaded files
  • Downloading files and patches II
    Issue with expat Issue with expat-2.6.4.tar.xz – missing from wget-list – retrieved from 12.3 directory – “use 2.7.1 instead” Instruction is in an online forum I have lost. I had to ask Google AI Mode to find it. errata is at: linuxfromscratch.org/lfs/errata/stable The file is not at any of the file mirrors. sourceforge.net/projects/expat redirected from… Read more: Downloading files and patches II
  • Downloading files and patches I
    Checking stuff first Is the directory for the downloads there, and what are its permissions? ls -l $LFS Is LFS the environment? echo $LFS Is the LFS partition mounted? mount Get all needed files, patches, and the md5sums file for 3.2 All packages from linuxfromscratch.org/mirrors.html to be downloaded to $LFS/sources with the wget-list method. 1.… Read more: Downloading files and patches I
  • Directory for downloads
    In 3.1 Introduction Create a directory for downloads, make it writable and sticky sudo mkdir -v $LFS/sourcessudo chmod -v a+wt $LFS/sources mode at ‘mnt/lfs/sources’ changed from 0755 rwxr-xr-x to 1777 rwxrwxrwt
  • Mounting made permanent
    The manual acted like this was kind of a niche thing to do, in the odd case that you would want to shut down the PC. I only use one set of peripherals, so… So the options are to remount the partition every boot, or modify the /etc/fstab file. I backed up the fstab file… Read more: Mounting made permanent
  • Setting the $LFS variable and mounting the partition
    For some reason I found it difficult and confusing to write out the procedure for this before starting. (Yes, I make a written procedure for every session.) Google AI Mode got involved. Exploring First I checked out a variety of things to be used in the next sections. I looked at startup files in ~… Read more: Setting the $LFS variable and mounting the partition
  • My Gear 2025
    I get inordinate pleasure from my miniPCs. Mac mini M1 The M1 Mac mini is my main computer or “production machine.” Mac mini 9,1 (M1, 2020): 8 GB memory, 512 GB SSD, $899 I still have it on Monterey. I’m just not willing to keep changing OS’s when everything works right. I didn’t think the… Read more: My Gear 2025
  • Creating a file system on the partition
    Section 2.5, creating a file system on the partition. According to Google AI Mode, I don’t need to create a file system on the LFS partition, because GParted is a partition editor and has already made the file system using the same tools (mkfs) that someone would use doing it manually.
  • Version Check
    Finishing 2.2.2 Host system software. I typed in version_check.sh from the manual onto the command line. I had to correct three errors with nano. But the version check is OK! Yay!
  • Set required symlinks
    Still on 2.2.2 Host System Software. Now I need to set the default system shell (/bin/sh) to bash, changing it from dash. It took me a while to establish that this is the system shell, not user shells. And there are two other required symlinks. /bin/sh should link to bash/usr/bin/awk should link to gawk/usr/bin/yacc should… Read more: Set required symlinks
  • Software headers in separate packages
    2.2.2 Host system software: “Also note that many distributions will place software headers into separate packages…. Be sure to install those if your distribution provides them.” I googled and then checked with AI Mode each of the essential programs, looking for software headers, -dev, and -devel. Here’s where AI Mode became useful in trying to… Read more: Software headers in separate packages
  • Google AI Mode
    Here’s where I started really using Google AI Mode in Chrome. Note – for this post I managed to learn the difference between Gemini, Google’s AI Overview, and Google’s AI Mode. Google search, such as it is, and Duck Duck Go search, such as that is, weren’t coming up with a lot of results that… Read more: Google AI Mode
  • More essential programs for the host
    Continuing 2.2.2 Host System Software. sudo apt update Played around with: sudo apt list –upgradablesudo apt upgradesudo apt autoremove –dry runsudo apt auto remove Now installed missing programs or possibly tried to reinstall two programs sudo apt updatesudo apt install bisonsudo apt install gawksudo apt install m4sudo apt install texinfosudo apt install findutils – I… Read more: More essential programs for the host
  • Finally making the partition
    2.4 Creating a new partition GParted manual I read the entire manual and printed out the needed instructions. GParted Live USB 1. Shrunk sda2 to 182.82 GiB, approximately 195 GB. Note: GiBs are apparently not MiB x 1000 2. From 54.61 GiB unallocated space, created sda3 27.3 GiB 3. Left the rest unallocated, about 27.3… Read more: Finally making the partition
  • Displaying GRUB at boot
    Where the heck is GRUB? Why don’t I see GRUB? I have GRUB, obviously: grub-install –version grub-install (GRB) 2.12-1ubuntu7.3 https://askubuntu.com/questions/182248/why-is-grub-menu-not-shown-when-starting-my-computer Also get rid of annoying login I turned on automatic login in Settings | System | Users Set up GRUB to display indefinitely at boot sudo nano /etc/default/grub Change: GRUB_TIMEOUT_STYLE=menu [changed from =hidden]GRUB_TIMEOUT=-1 [changed from… Read more: Displaying GRUB at boot
  • Exploring Ubuntu and GParted
    Updating Last month I updated the Numbat, explored snaps, and updated the snaps. Today I updated the debs and snaps. Boot with GParted Live USB Should see GUI In GUI:To select a device go to GParted | Devices menu option and select a deviceor from drop-down menu at upper leftLook at: text list details, device… Read more: Exploring Ubuntu and GParted
  • Bought GParted manual
    I bought the GParted manual, “Manage Partitions with GParted How-to” from PacktPub, $6.98. Happy new year and on with LFS 12.3!
  • Going over the Essential Programs
    I went over the Essential Programs for LFS – 2.2.2 Host System Software. Many of them should have been installed with the development tools that I installed after setting up Ubuntu. I checked the version of all of them and wrote them in the manual. My notes include: Checking version of coreutils – use any… Read more: Going over the Essential Programs
  • Thinking about partitions
    Trying to make some decision about partitions to carry out LFS 2.4 Creating a New Partition. After reading the manual, material online, the hints, the explanations of the hints, none of which I understood, I started to come to the conclusion that: –I’ll have only one /boot/EFI partition on the drive. On it, Ubuntu GRUB… Read more: Thinking about partitions
  • Flashing GParted Live USB
    I used balena Etcher to flash the GParted Live download to the Celeron USB. gparted-live-1.6.0-10-amd64.iso was successfully flashed to General UDisk So there!
  • Looking at the flash drive
    I got a separate flash drive for GParted, a Celeron. I installed GParted on the Numbat PC to look at the flash drive and kind of see how GParted worked. (Although I think I might also have installed it on the Fossa PC at some point.) sudo apt updatesudo apt install gparted It looks like… Read more: Looking at the flash drive
  • Downloading GParted Live
    gparted-live-1.6.0-10-amd64.iso – 550 MB Downloaded checksums.txt and checksums.txt.gpg Verified ISO Verified iso using “How to verify a downloaded file” as I post this I don’t know where that particular piece of paper is or what I did. I hate checksums. I got more used to them later in LFS chapter 3.2. Testing executables gpg, md5sum,… Read more: Downloading GParted Live
  • Installing balena Etcher
    balenaEtcher-linux-64-1.19.25.zip – 14 MB To remind myself what I did with it: Appimage in Home Run it by opening its folder, click on balena-etcher
  • Uname
    Practicing the uname command: uname Linuxuname -m x86_64 x86_64 meaning Intel or AMD 64-bit. I guess the Numbat mininPC is Intel. Trying it out on my Mac mini M1: uname -m ARM64
  • The UNetbootin rabbit hole
    The GParted website was really insistent about using UNetbootin to flash the GParted Live USB (even though I felt that Balena Etcher must be equivalent). UNetbootin won’t install for Ubuntu 24.04. I tried this stuff: sudo add-apt-repository ppa:gezkovacs/ppasudo apt-get updatesudo apt-get install unetbootin I learn about the error message here: https://itsfoss.com/repository-does-not-have-release-file-error-ubuntu/ I could use the… Read more: The UNetbootin rabbit hole
  • Hold snaps forever
    I’m pretty sure the weird stalling on Firefox (that is, when I’m actually trying to use the Numbat computer) is from snaps downloading themselves in the background without any notification. I did this: snap refresh –hold-forever “Auto-refresh of all snaps held indefinitely” TG For whatever reason, I don’t think snaps auto-download on the Fossa miniPC,… Read more: Hold snaps forever
  • SecureBoot, snaps, and planning
    SecureBoot Secure boot is already disabled: sudo mokutil –sb-state “SecureBoot disabled” Was it never on or did I unintentionally disable it when clicking around in the BIOS? On 11/29, I used the mokutil command on the Focal Fossa miniPC. That too has “SecureBoot disabled.” The Fossa’s platform is “in setup mode,” which is supposed to… Read more: SecureBoot, snaps, and planning
  • Tests and flailing
    Partitions I tried to reinstall Ubuntu to create an LFS partition at that point, but I couldn’t (again) figure out the manual partitioning. I’ll make a GParted Live USB to make the partition, I guess. Audio / Visual I tested out the audio, video, and webcam – all fine. Secure boot I could not find… Read more: Tests and flailing
  • Installing Ubuntu over Windows
    This is the first time I’ve successfully installed Linux. (Once I tried to install Ubuntu on an old Mac mini but failed. My other miniPCs had Ubuntu pre-installed.) I’m wiping the Windows 10 that came with the miniPC. My LFS host machine will be Ubuntu and LFS will go on a separate partition. I didn’t… Read more: Installing Ubuntu over Windows
  • Making the USB Drive
    I used balena Etcher on the Focal Fossa miniPC to flash the Ubuntu file onto my black Lexar USB drive. I looked at the ISO file. It contained the directories: boot, casper, dists, EFI, install, pool preseed, ubuntu; and the files boot.catalog and md5sum.txt
  • Downloading Ubuntu
    I downloaded Ubuntu 24.04 overnight using one of my other Linux miniPCs, the Minisforum Kodlix GN41 that has Focal Fossa Ubuntu. It was 5.8 GB and, because I have DSL, took 11 hours. In my records it doesn’t look like I checked the md5sum.
  • Here’s what I’m going to try to do
    Going to try to do the Linux From Scratch (LFS) project: “building your own customized Linux system entirely from source.” Currently using Version 12.3 Published March 5th, 2025 (The non-systemd. Seems to be called sysv.) I was influenced by the Reddit comment recommending non-systemd for newb: I hadn’t been sure which to do, as I’d… Read more: Here’s what I’m going to try to do
  • Just for Linux From Scratch
    Here’s what I ordered from Amazon, $140.84 including tax: MINISFORUM GK41 Mini PC Celeron ProcessorJ4125 Quad Core( up to 2.7GHz),8GB DDR4 256GB SSD Mini Desktop Computer4X USB 3.0 Ports, 2X Gigabit Ethernet, 4K@60Hz Output, Dual Wi-Fi I want this project on a totally separate computer. And, I couldn’t use one of the miniPCs that I… Read more: Just for Linux From Scratch