all repos — site @ fc5cc56b1446882232405a61b3545939eb0fbd35

source for my site, found at icyphox.sh

pages/txt/five-days-tty.txt (view raw)

  1   13 January, 2020
  2
  3Five days in a TTY
  4
  5I installed KISS Linux
  6
  7   This new semester has been pretty easy on me, so far. I hardly every
  8   have any classes (again, so far), and I've a ton of free time on my
  9   hands. This calls for -- yep---a distro hop!
 10
 11Why KISS?
 12
 13   [1]KISS has been making rounds on the interwebz lately.^[2]1 The Hacker
 14   News post spurred quite the discussion. But then again, that is to be
 15   expected from Valleybros who use macOS all day. :^)
 16
 17   From the website,
 18
 19     An independent Linux� distribution with a focus on simplicity and
 20     the concept of "less is more". The distribution targets only the
 21     x86-64 architecture and the English language.
 22
 23   Like many people did in the HN thread, "simplicity" here is not to be
 24   confused with "ease". It is instead, simplicity in terms of lesser and
 25   cleaner code -- no [3]Poetterware.
 26
 27   This, I can get behind. A clean system with less code is like a clean
 28   table. It's nice to work on. It also implies security to a certain
 29   extent since there's a smaller attack surface.
 30
 31   The [4]kiss package manager is written is pure POSIX sh, and does just
 32   enough. Packages are compiled from source and kiss automatically
 33   performs dependency resolution. Creating packages is ridiculously easy
 34   too.
 35
 36   Speaking of packages, all packages -- both official & community repos
 37   -- are run through shellcheck before getting merged. This is awesome; I
 38   don't think this is done in any other distro.
 39
 40   In essence, KISS sucks less.
 41
 42Installing KISS
 43
 44   The [5]install guide is very easy to follow. Clear instructions that
 45   make it hard to screw up; that didn't stop me from doing so, however.
 46
 47Day 1
 48
 49   Although technically not in a TTY, it was still not in the KISS system
 50   -- I'll count it. I'd compiled the kernel in the chroot and decided to
 51   use efibootmgr instead of GRUB. efibootmgr is a neat tool to modify the
 52   Intel Extensible Firmware Interface (EFI). Essentially, you boot the
 53   .efi directly as opposed to choosing which boot entry you want to boot,
 54   through GRUB. Useful if you have just one OS on the system. Removes one
 55   layer of abstraction.
 56
 57   Adding a new EFI entry is pretty easy. For me, the command was:
 58efibootmgr --create
 59           --disk /dev/nvme0n1 \
 60           --part 1 \
 61           --label KISS Linux \
 62           --loader /vmlinuz
 63           --unicode 'root=/dev/nvme0n1p3 rw'  # kernel parameters
 64
 65   Mind you, this didn't work the first time, or the second, or the third
 66   ... a bunch of trial and error (and asking on #kisslinux) later, it
 67   worked.
 68
 69   Well, it booted, but not into KISS. Took a while to figure out that the
 70   culprit was CONFIG_BLK_DEV_NVME not having been set in the kernel
 71   config. Rebuild & reboot later, I was in.
 72
 73Day 2
 74
 75   Networking! How fun. An ip a and I see that both USB tethering
 76   (ethernet) and wireless don't work. Great. Dug around a bit -- missing
 77   wireless drivers was the problem. Found my driver, a binary .ucode from
 78   Intel (eugh!). The whole day was spent in figuring out why the kernel
 79   would never load the firmware. I tried different variations -- loading
 80   it as a module (=m), baking it in (=y) but no luck.
 81
 82Day 3
 83
 84   I then tried Alpine's kernel config but that was so huge and had a ton
 85   of modules and took far too long to build each time, much to my
 86   annoyance. Diffing their config and mine was about ~3000 lines! Too
 87   much to sift through. On a whim, I decided to scrap my entire KISS
 88   install and start afresh.
 89
 90   For some odd reason, after doing the exact same things I'd done
 91   earlier, my wireless worked this time. Ethernet didn't, and still
 92   doesn't, but that's ok.
 93
 94   Building xorg-server was next, which took about an hour, mostly thanks
 95   to spotty internet. The build went through fine, though what wasn't was
 96   no input after starting X. Adding my user to the input group wasn't
 97   enough. The culprit this time was a missing xf86-xorg-input package.
 98   Installing that gave me my mouse back, but not the keyboard!
 99
100   It was definitely not the kernel this time, because I had a working
101   keyboard in the TTY.
102
103Day 4 & Day 5
104
105   This was probably the most annoying of all, since the fix was trivial.
106   By this point I had exhausted all ideas, so I decided to build my
107   essential packages and setup my system. Building Firefox took nearly 9
108   hours, the other stuff were much faster.
109
110   I was still chatting on IRC during this, trying to zero down on what
111   the problem could be. And then:
112<dylanaraps> For starters I think st fails due to no fonts.
113
114   Holy shit! Fonts. I hadn't installed any fonts. Which is why none of
115   the applications I tried launching via sowm ever launched, and hence, I
116   was lead to believe my keyboard was dead.
117
118Worth it?
119
120   Absolutely. I cannot stress on how much of a learning experience this
121   was. Also a test of my patience and perseverance, but yeah ok. I also
122   think that this distro is my endgame (yeah, right), probably because
123   other distros will be nothing short of disappointing, in one way or
124   another.
125
126   Huge thanks to the folks at #kisslinux on Freenode for helping me
127   throughout. And I mean, they really did. We chatted for hours on end
128   trying to debug my issues.
129
130   I'll now conclude with an obligatory screenshot.
131
132   scrot
133     __________________________________________________________________
134
135    1. [6]https://news.ycombinator.com/item?id=21021396
136
137References
138
139   1. https://getkiss.org/
140   2. https://icyphox.sh/home/icy/leet/site/build/blog/five-days-tty/temp.html#fn:hn
141   3. https://www.urbandictionary.com/define.php?term=poetterware
142   4. https://github.com/kisslinux/kiss
143   5. https://getkiss.org/pages/install
144   6. https://news.ycombinator.com/item?id=21021396