Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
197
hpr_transcripts/hpr4401.txt
Normal file
197
hpr_transcripts/hpr4401.txt
Normal file
@@ -0,0 +1,197 @@
|
||||
Episode: 4401
|
||||
Title: HPR4401: hajime
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4401/hpr4401.mp3
|
||||
Transcribed: 2025-10-26 00:17:06
|
||||
|
||||
---
|
||||
|
||||
This is Hacker Public Radio Episode 4401 from Monday the 16th of June 2025.
|
||||
Today's show is entitled Hedge-Ein.
|
||||
It is part of a series bash scripting.
|
||||
It is hosted by OXO and is about 24 minutes long.
|
||||
It carries an explicit flag.
|
||||
The summary is, let's see how OXO is using Hedge-Ein in order to install Arch Linux on
|
||||
a old network.
|
||||
Hello and welcome to another episode of mine for Hacker Public Radio.
|
||||
This is my 5th episode.
|
||||
My name is OXO and today I'm going to talk about Hedge-Ein.
|
||||
You can find Hedge-Ein on my Codeberg repository.
|
||||
Like all the tools that I mentioned later in this episode, you can find them on codeberg.org
|
||||
slash OXO.
|
||||
Hedge-Ein is a script that I have written in the last maybe almost 10 years now.
|
||||
With that script I am installing my Arch Linux operating system, my desktop environment,
|
||||
my personal settings and basically it is now in a state that I am inserting a USB
|
||||
device, switching the computer on, pressing a few buttons now and then and then my
|
||||
L system is standing, so that is what I want to demonstrate today.
|
||||
Meanwhile I have switched my computer on and it has no operating system on it and this
|
||||
computer is a very old one.
|
||||
It is a Dell latitude 3189 I think, well yeah 3189 I can see it here in the BIOS.
|
||||
Which has been booted meanwhile.
|
||||
This computer has only four gigabytes of RAM, no megabytes.
|
||||
It has gigabytes of RAM for to be precise and yeah what I have done is I have inserted
|
||||
this USB device with Arch ISO on it which I have made with ISO latest.
|
||||
I am now going to select that device so it can boot and that was the annoying sound
|
||||
which occurs on some machines when you are running Arch ISO and now it is booting
|
||||
up the Arch environment.
|
||||
And meanwhile I have inserted the second USB stick that I have prepared for this installation.
|
||||
So now my computer has booted into the Arch Linux environment to be precise it has booted
|
||||
now into Arch Linux 6.14.4-Arge1-2 and we are in a TTY1 environment now.
|
||||
So this is basically normally this normal stuff like are you boot from an ISO if you
|
||||
have done that before you probably will be familiar with it.
|
||||
And I am currently root at Arch ISO so I have root privileges so I don't have to worry
|
||||
about SUDO and we are going to start the installation shortly.
|
||||
First I want to talk about the second USB device I have prepared.
|
||||
On this device I have made three partitions and those partitions are called code repo
|
||||
and keys.
|
||||
In the keys partition I have all my GPG keys, my SSH keys my password fault is on there
|
||||
and stuff like that personal things that have to be kept secret.
|
||||
On this second partition that I have made on this USB device there is my code repository
|
||||
and this is basically the same as you can find online on Codeberg.
|
||||
The third partition that I have made on this USB device is called repo and there are all
|
||||
the installation files for the applications that I want to install.
|
||||
So basically that is what you normally download from the internet is now on my USB device
|
||||
and as copied locally without an internet connection.
|
||||
Why did I do this?
|
||||
Well because I have basically no internet connection so the internet that I use is via
|
||||
my telephone so I have to be very careful not to use too much data and that is why I have
|
||||
developed this system.
|
||||
So in the meantime my computer has been booted like I said before and what I first always
|
||||
do is directory creating a directory TMP TangleMike Papa.
|
||||
That is the directory in which I will mount one of the partitions.
|
||||
Then I'm going to check always with LSBLK that is a lemasherra bravo lemakilo which partition
|
||||
I have to mount and then I say mount slash dev slash sd and in this case it is bravo
|
||||
and then number three I always connect code to number three because I now have to mount
|
||||
my code partition in order to be able to run hojime and so I say mount dev sdb3 to TMP.
|
||||
Now I check if it is mounted properly via LSBLK again and then I can see sdb3 has a partition
|
||||
on mounted on root TMP.
|
||||
So what I then do is start a shell script shspace temp and then code slash rgma slash
|
||||
zero in it dot sh and then I give it a config a config flag dash dash config space TMP
|
||||
slash code rgma and then setup I have prepared a configuration file for this so I say setup
|
||||
machine dl3189 which is this machine.
|
||||
You can run hojime in two ways and now I'm using a configuration file and that is a development
|
||||
that I have made in the last few months in which I have set all the important data for
|
||||
partitions for sizes of partitions for mount points encryption stuff like that.
|
||||
What it basically is is all the questions that are normally asked during an installation.
|
||||
The answers on those questions I have put into this configuration file that is how you
|
||||
can basically see it.
|
||||
So I use a name, a password, the root user name, the root password etc.
|
||||
So now I don't have to be interactive anymore and I can press enter and basically walk away
|
||||
come back in 10 minutes and then I have passed the first three stages of hojime.
|
||||
But I will talk you through it.
|
||||
So now we have this line here shtmp code hojime 0enit.sh.
|
||||
So 0enit is the first script that hojime will run and it is an initialization script and
|
||||
then I give it a flag config dash dash config and then I can say which configuration file
|
||||
I wanted to use.
|
||||
And I have designated my dl3189.gov which is the configuration file for this del specific
|
||||
this del latitude and then I press enter.
|
||||
The first screen I will see and I have to be interactive with is a warning basically it
|
||||
says quotient active configuration file and it says which file it wanted to use.
|
||||
That is the same file as we entered as our value of our config flag of course.
|
||||
But yeah just to be sure you can check it here and then it says this file will be used
|
||||
for an intended installation hojime repository resource is offline.
|
||||
So you can have three different kinds of repository modes so to say which is offline online
|
||||
and a hybrid mode.
|
||||
And now I am using the offline mode.
|
||||
Before continuing be 100% sure that the file designates this machine so that is the file
|
||||
mentioned configuration file and all the parameters in the file are correct.
|
||||
So I know that those parameters are correct and I press Y to continue.
|
||||
And now it is copying the hrgmail to the root and it has done that now and then I get a
|
||||
big blob of text that is at my own risk that will erase all data from the designated
|
||||
devices and if you want to continue I have to do that with full consent by pressing Y
|
||||
and which I do right now.
|
||||
So now basically I can wait for a minute or ten maybe the arch Linux installation will
|
||||
be done.
|
||||
What it is doing now is it is creating partitions and then it is encrypting the LVM partition.
|
||||
It is creating the LVM volumes and then it makes the file system which has done already.
|
||||
And now it is initializing the GPG so it is initializing the GPG key and this is necessary
|
||||
for for example for Pacman, the package manager of arch Linux and now we are waiting.
|
||||
I said this one is not so fast but it is working fine.
|
||||
So now it has created the GPG keys and now Pacman is started and installing the base group
|
||||
of packages which are packages like I see now for instance Pacman, the mirror list,
|
||||
pearl, stuff like read lines, sad, pseudo system, all these basic things which you can find
|
||||
in the base package group, those are installed now and this is about 600 megabytes and it
|
||||
is pretty fast of course because it is local.
|
||||
If I had to do this online it would be taking a lot of more time because my internet connection
|
||||
is not fast and the other downside of that is that I am losing my data.
|
||||
So now I only have to update my main machine and then make a copy of those packages which
|
||||
are my USB device and I can run that gladly on this machine without worrying.
|
||||
What is it doing now?
|
||||
Let's see, it's creating simlink, it has created groups and users and it is now installing
|
||||
the stuff that it has copied and now it is basically starting to install.
|
||||
The post transaction hooks are now run, I can see now the first time that the make-in-it
|
||||
CPIO is run, this is a little bit annoying for me because that make-in-it CPIO is running
|
||||
maybe four times I think because every time when there is a package that is touching hooks
|
||||
on make-in-it CPIO then it will regenerate that old image again and that's a little bit annoying
|
||||
but nevermind because it also takes quite a while so the first time it is running now and you
|
||||
see the usual warnings that do not find firmware for a few of these modules which are
|
||||
warnings that I see also in these ten years so that's that's interesting stuff which I don't
|
||||
know much about but it's running happily and then it's copying the root Hachime which has
|
||||
copied before basically one thing is important to notice now now we are entering the second stage
|
||||
in which we are entering the charute jail and now we are going to install inside the charute jail
|
||||
so the what the true jail is is it is basically a virtual environment and which is the future
|
||||
how can I say that the future image of the operating system disk the file system so now it is
|
||||
entering that charute jail and it's it is creating the operating system in that jail and then the whole
|
||||
two-conve part of my Hachime is running into that inside that charute jail and it's almost finished
|
||||
so I have two kernels that I normally install which is the bleeding edge kernel of arglinux and then
|
||||
the LTS kernel as well so I've always a fullback kernel in the LTS so meanwhile I'm going to
|
||||
tell you where you can find this Hachime repository it's of course on codeback.org slash oxo
|
||||
Hachime okay there we have Hachime and meanwhile my del is running the last time makes in its CPIO
|
||||
with basically if you see the the readme file on this page Hachime then we are now running inside
|
||||
two-conve and after two-conve I have to reboot and because we are in the charute jail I cannot
|
||||
do that automatically so that's where the system stops and wait for you to reboot and that's a
|
||||
downside and which I have to circumvent one day but it's fine for now so what this and this readme
|
||||
file says in one base the script creates a partition table and a UAV system partition
|
||||
which system de-boot in order to bootstrap the user space for the latest stable release and the
|
||||
long-term support arglinux kernel and then in two cons the script configures settings for time
|
||||
network mirror lists bootloader entries for the both kernels the RAM disk and creates a user
|
||||
environment and after execution of comp the system is able to boot independently and that's
|
||||
where we have come now so I'm going to exit here and then I'm going to you mount
|
||||
my slash mnt and then I'm going to reboot reboot I don't forget to remove the usb devices from
|
||||
the system so it can reboot quickly for the first time from the NVMe device or in this case it's
|
||||
an sva device I see the two kernels so that's working fine arch and arch lts
|
||||
archlinux is booting and then the script setup is asking for the password for crypt lvm
|
||||
well for the set of purposes I have made it lvks and then I'm set my insert my usb device again
|
||||
not the arch iso but the usb device with the three partitions which again are code repo and keys
|
||||
archlinux 614-7-2-1 so I think we were starting out on the arch iso with 614-4 something or two
|
||||
I'm not sure but now we're on seven because meanwhile my main system has done a few updates already
|
||||
for the kernel and now we're on kernel 14.7 and then basically we have to log in as user
|
||||
and then I can see connect code and repo media these are the partitions on this usb device that I
|
||||
told you about and then I continue archlinux in store with sh-h-h-lash-tree-post.sh with
|
||||
I have done now and then my suitable password for the first time it's copying a few latest packages
|
||||
and then it will continue with four apps with it is done now so archlinux 4 apps
|
||||
going back to the readme now prepares the system for a display manager running under
|
||||
wland with wl roots as a modular compositor library and the script will set up sway
|
||||
tiling window manager but it can easily modify it to set up for x11 based managers when preferred
|
||||
and the script also installs a variety of tools among others for video text file manager
|
||||
network management internet system monitoring virtual environments and so on and so forth
|
||||
yeah basically you can expand the list at your liking and it will install those packages as well
|
||||
of course you must have the packages on your repo the partition on your usb device if you use the
|
||||
offline mode of azimuth if you use online mode you can just expand the list at your liking
|
||||
and then after apps which is not a brand fully yet but I think it's halfway now after apps there
|
||||
is a dtcf and it installs the dot file configuration which contains settings for apps and compositor
|
||||
to run smoothly basically that's my desktop environment rice so to say so there we have it and
|
||||
in the readme file you can see the requirements the host machine and the usb rs iso and the repo code
|
||||
usb2 also know you can have a separate boot device for this computer i don't have a separate boot
|
||||
device or meanwhile i see the errors coming in because i still have a problem with installing
|
||||
our packages i have to look into that but now it already is at five dtcf and it's
|
||||
copying my configuration files right now so this episode is now running for more than half an hour
|
||||
now and if within this half an hour i have explained a lot about rgme and meanwhile the computer
|
||||
has installed the desktop environment and now also my personal settings it is copying my notes
|
||||
as well which you can find also on the codeberg repository and then there is a last question
|
||||
starting pwgn which will ever ring out as well i have to check that as well and then there are some
|
||||
errors to finish it off with and yeah i still have to look into this but yeah it's a work of 10
|
||||
years now and it's not finished yet removing my usb device here and after rebooting
|
||||
well don't be too quick so now i see the dialogo i don't do anything and i'm choosing for the
|
||||
arch bleeding edge kernel i enter my crypt setup password for the crypt ovm and then again enter my
|
||||
username that was a little bit too quick i will be answering out or not now that's fine and then i can
|
||||
say sway and then it's running my sway environment i have my bar on top with the work space numbers
|
||||
and my clock is working and if i press the mate enter and then i have my electricity terminal
|
||||
emulator running smoothly and my colors are as i like it which is base 16 colors and
|
||||
the ir black theme so everything is working fine it's about time to get out of here i hope you
|
||||
liked this rather quick demonstration of a gmail the arch Linux installation script that was it
|
||||
for today i'll see you later in the next episode goodbye
|
||||
you have been listening to hacker public radio at hacker public radio does work today show was
|
||||
contributed by a hbrlisnet like yourself if you ever thought of recording podcast and click on
|
||||
our contribute link to find out how easy it really is hosting for hbr has been kindly provided by
|
||||
an honesthost.com the internet archive and our sims.net on this otherwise stated today's show is
|
||||
released under creative comments attribution 4.0 international license
|
||||
Reference in New Issue
Block a user