snork.ca: Welcome to the brown age of computing! Mostly Cloudy, 15.6°C - Precip 0 hrs

Linux From Scratch Boot ISO 2024-01-08


An operating system is the software that gives users a way to run applications and provides a way for those applications to the access various hardware. Linux is an operating system sometimes used by people who know how shitty Windows and MacOS are. In the Linux world, a distribution is basically a collection of Linux, the utilities that make Linux functional, and some applications (along with a specific configuration of those applications). It may or may not have a graphical environment, and it probably has an installer, and some way of managing the installation and removal of other applications. The machine that hosts this web site happens to be running Devuan. There are hundreds of other distributions to choose from out there though. Or, if you prefer you could sort of build your own Linux-based operating system from scratch. That is what Linux From Scratch is all about.

a pic of some chicken I put in the pressure canner and a CAT5 cable Chicken from the pressure canner.

The idea is that if you follow along the Linux From Scratch book it'll show you how to manually compile all the pieces yourself, and end up with a bootable functional Linux operating system. It won't have its own installer (the book is basically the installer) and it won't have a package manager (because you compile every application instead of just installing precompiled binaries). It takes a long time and some folks would consider it a pretty boring experience, but you do learn a fair bit about Linux from doing it, and you do wind up with a pretty slick custom built OS. However, it does actually require that you have a host operating system from which to start building. There used to be an official liveCD but it has not been updated in a long time and does not work for the current instructions in the book. So, I made a liveCD some years ago and uploaded it to The Internet Archive. However, that is pretty outdated now, and I decided recently that I should make a new liveCD. It uses Devuan as a base, has only a command line interface, and includes all the utilities described in the host requirements section of the book. The ISO image of my liveCD (and the earlier version) can be found here, at The Internet Archive, and here are the notes I took on how I made it:

- Fresh install of Devuan Daedalus
- root/toor
- user/live

- log in as root at console

# apt-get update
# apt-get install --no-install-recommends openssh-server

- ssh to the box as user
$ su -

# apt-get purge ispell iamerican ibritish ienglish-common wamerican dictionaries-common emacsen-common

# apt-get install binutils bison coreutils diffutils findutils gawk gcc g++ grep gzip m4 make patch perl python3 sed tar texinfo xz-utils

# apt-get install wget screen sudo rsync squashfs-tools xorriso live-boot live-config live-boot-initramfs-tools syslinux-common syslinux isolinux

# echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers
# mv /bin/sh /bin/oldsh
# ln -s /bin/bash /bin/sh

# wget https://mishka.snork.ca/devuan/devuan/pool/main/r/refractasnapshot-base/refractasnapshot-base_10.2.12_all.deb
# dpkg -i refractasnapshot-base_10.2.12_all.deb
# rm refractasnapshot-base_10.2.12_all.deb

# sed -i 's/^#mksq_opt="-comp xz"$/mksq_opt="-comp xz"/' /etc/refractasnapshot.conf
# sed -i 's/^ssh_pass="yes"/ssh_pass="donotedit"/' /etc/refractasnapshot.conf
# sed -i 's/^set timeout=15/set timeout=5/' /usr/lib/refractasnapshot/grub.cfg.template
# sed -i '/^background_image.*$/d' /usr/lib/refractasnapshot/grub.cfg.template

# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config.d/livecd.conf
# echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config.d/livecd.conf

# refractasnapshot

Made with Notepad++ & FastStone, without javascript, cookies, or Clippy's help. Hosted on Devuan with nginx & powered by NK shrooms.