Creating Your Own Linux Distribution
Summary
TLDREn este video, el presentador ofrece una sesión en vivo donde construye un entorno personalizado para Linux, enfocándose en Arch Linux, una distribución ideal para aprender sobre Linux. Se discuten temas como la personalización de la distribución, la instalación de paquetes básicos y la configuración de un sistema sin entorno de escritorio completo para evitar el exceso de 'bloat'. El objetivo es crear una experiencia de aprendizaje y personalización, con scripts que automatizan gran parte del proceso, permitiendo a los espectadores construir su propia versión de Arch Linux.
Takeaways
- 😀 El stream en vivo trata sobre construir un entorno personalizado de Linux.
- 🔧 Se menciona que Gen 2 es la distribución utilizada por Chrome OS, muy personalizada.
- 📚 El presentador sugiere que solo existen tres distribuciones principales: Debian, Arch y las basadas en Red Hat como Fedora.
- ⚙️ Arch Linux es destacado como una gran opción para aprender sobre Linux.
- 🛠️ Se habla de un proyecto llamado Archmatic, creado para automatizar la instalación y configuración de Arch Linux.
- 🔄 El proceso de instalación se divide en partes para facilitar la depuración y el aprendizaje.
- 💻 Se enfatiza la importancia de no utilizar entornos de escritorio y evitar el exceso de paquetes innecesarios.
- 🔗 Se menciona la necesidad de instalar paquetes básicos como git, curl y wget para obtener scripts.
- 🔄 Durante el stream, se muestra cómo se puede fallar y cómo solucionar problemas en vivo, lo cual es instructivo para el espectador.
- 🖥️ El objetivo final es tener una instalación de Linux personalizada y minimalista, con solo los paquetes necesarios.
- 🔧 Se utiliza el Awesome Window Manager en lugar de un entorno de escritorio completo, para mantener la instalación ligera.
Q & A
¿Qué se discute en el directo en vivo mencionado en el guion?
-Se discute la creación de un entorno personalizado para Linux, enfocándose en la instalación y configuración de Arch Linux como un sistema básico y sin rastro de desperdicio.
¿Por qué el presentador considera que solo existen tres distribuciones principales de Linux?
-El presentador opina que las tres distribuciones principales son Debian, Arch y las basadas en Red Hat, como Fedora, porque estas son las ramas principales y las demás son simplemente personalizaciones o derivadas de ellas.
¿Qué proyecto llamado Archmatic se menciona en el guion y para qué sirve?
-Archmatic es un proyecto personalizado creado por el presentador, que busca automatizar el proceso de instalación y configuración de Arch Linux, facilitando así la creación de un sistema personalizado.
¿Cuál es el propósito de no utilizar un entorno de escritorio en la instalación descrita en el guion?
-El propósito es evitar el exceso de 'rastro de desperdicio', es decir, instalar solo los paquetes necesarios y evitar la sobrecarga de software innecesario.
¿Qué significa 'bloat' en el contexto del guion y por qué se busca evitarlo?
-El término 'bloat' se refiere a la acumulación de software no necesario o de más que puede ralentizar el sistema. Se busca evitarlo para mantener un sistema ligero y eficiente.
¿Qué es systemd-boot y cómo se relaciona con la instalación de Arch Linux descrita en el guion?
-systemd-boot es un gestor de arranque que utiliza systemd para manejar el inicio del sistema. En el guion, se menciona que es más fácil de configurar que GRUB si todo está configurado correctamente.
¿Qué es el 'UUID' y por qué es importante al crear una entrada de arranque en el guion?
-El UUID (Universally Unique Identifier) es un identificador único para el disco o partición. Es importante al crear una entrada de arranque para que el sistema pueda identificar y cargar correctamente la partición con el sistema operativo.
¿Qué es Awesome Window Manager y cómo se utiliza en el guion?
-Awesome Window Manager es un administrador de ventanas ligero y personalizable para entornos de escritorio de Linux. En el guion, se instala y se configura para crear un escritorio personalizado.
¿Por qué el presentador decide no empaquetar el proyecto en un ISO?
-El presentador opta por no empaquetar el proyecto en un ISO porque quiere que los espectadores aprendan los pasos y puedan personalizar el script según sus necesidades, en lugar de simplemente descargar e instalar un archivo ISO listo.
¿Qué es 'neofetch' y cómo se utiliza en el guion?
-Neofetch es un script que muestra información sobre el sistema operativo, el hardware y la configuración del entorno de escritorio. En el guion, se utiliza para mostrar el estado del sistema después de la instalación y configuración.
¿Qué es 'Material Awesome' y cómo se relaciona con la configuración del escritorio en el guion?
-Material Awesome es un tema para el administrador de ventanas Awesome, que proporciona un aspecto minimalista y moderno. En el guion, se menciona como parte de la configuración del escritorio personalizado.
Outlines
😀 Introducción a la transmisión en vivo de creación de entornos Linux
El presentador inicia la transmisión en vivo con una introducción entusiasta, anunciando un enfoque especial en la creación de un entorno personalizado para Linux. Se menciona la discusión previa en el chat sobre Gen 2 y LFS, y se destaca que Gen 2 es la distribución utilizada por Chrome OS. El hablante expresa su preferencia por las ramas principales de las distribuciones, como Debian, Arch y las basadas en Red Hat, como Fedora, y enfatiza la importancia de la personalización. La transmisión se centrará en Arch Linux, destacando su valor educativo y la intención de realizar este proceso periódicamente con diferentes distribuciones.
🛠️ Preparación y automatización del proceso de instalación de Arch Linux
El hablante describe el proyecto 'archmatic', una herramienta de automatización para facilitar la instalación y configuración de Arch Linux. Se discute la estructura del proyecto y cómo se divide en partes para facilitar la solución de problemas. Se menciona la intención de empaquetar el proyecto en un script único en el futuro, pero para esta transmisión se presenta como un proceso en etapas. Se detalla el proceso de clonación del repositorio y el inicio de la configuración, incluyendo la formateo de discos y la instalación de utilidades básicas como git y curl.
🔧 Configuración del sistema de arranque y particiones
En este párrafo, el hablante se enfoca en la configuración del sistema de arranque y la creación de particiones. Se utiliza 'sg disk' para gestionar las particiones y se discuten los problemas potenciales con la tabla de particiones. Se muestra cómo crear una entrada de arranque para Systemd-boot, incluyendo la adición del UUID de la partición y la configuración de la entrada de arranque para el kernel de Linux. Se destaca la importancia de tener una comprensión profunda de estos pasos para evitar errores en la instalación.
🖥️ Instalación y configuración del entorno de trabajo
El hablante procede a instalar y configurar el entorno de trabajo, eligiendo el Awesome Window Manager en lugar de un entorno de escritorio completo. Se detalla la instalación de paquetes básicos y la personalización del sistema, incluyendo la configuración de un nuevo usuario y la selección de un kernel LTS para mayor estabilidad. Se menciona la intención de mantener un sistema liviano y eficiente, evitando el exceso de paquetes innecesarios.
🔄 Revisión y ajustes finales en la configuración de Awesome Window Manager
El hablante revisa y ajusta la configuración del Awesome Window Manager para personalizar el escritorio. Se menciona el uso de 'material-awesome' y se describe cómo se configura el tema, la transparencia y los efectos. Se discuten los problemas encontrados con la configuración inicial y cómo se resuelven clonando la configuración del hablante desde su repositorio de GitHub. Se enfatiza la flexibilidad de Awesome para adaptarse a las preferencias personales del usuario.
📝 Conclusión y planificación futura
Para concluir, el hablante reflexiona sobre el proceso de la transmisión en vivo y destaca la eficacia del script 'archmatic' en su primera ejecución. Se reconoce la necesidad de mejorar ciertos aspectos del script, especialmente en la fase de inicio y post-instalación. Se anuncia planes futuros para realizar un recorrido similar con distribuciones basadas en Debian y Fedora, con el objetivo de mostrar la versatilidad y personalización de las distribuciones Linux.
Mindmap
Keywords
💡Linux
💡Distribuciones de Linux
💡Arch Linux
💡Personalización
💡Gen 2
💡Pac-Man
💡AWESOME
💡Script
💡EFI
💡Systemd-boot
💡Neofetch
Highlights
Live stream focuses on building a custom Linux environment.
Introduction to Gen 2, the distribution used by Chrome OS.
Discussion on the importance of choosing a mainline Linux distribution.
Emphasis on Arch Linux as a great learning experience.
Introduction of a custom project called Archmatic for automation.
Explanation of the process to build a Linux environment from Arch Linux.
Details on avoiding bloat and installing only necessary packages.
The decision not to use desktop environments for a streamlined setup.
Demonstration of the script's first run and potential for failure.
Instructions on using 'sgdisk' for partitioning during setup.
Troubleshooting steps for the boot loader configuration.
The use of 'systemd-boot' as an alternative to GRUB.
Customizing the Arch Linux installation with minimal packages.
Installation of Awesome Window Manager for a lightweight desktop experience.
Discussion on the importance of using the LTS kernel for stability.
Final setup and configuration of the custom Arch Linux environment.
Reflection on the success of the first run-through of the new script.
Plans for future live streams to build custom environments for Debian and Fedora.
Transcripts
all right how's everybody doing this
morning
uh we have a special special
a live stream today where we're
basically building kind of our own
environment for linux uh i saw some
really good stuff
on chat that was uh you know pre-game
chat i guess
where some people were talking about gen
2 and lfs which is great
a lot of people don't realize this but
gen 2 is the
distribution that chrome os uses it's
just a very customized
uh os now most people know i hate
to say hello here's all these different
distributions try them out because i
think
honestly just pick a mainline branch and
then go for it so
in my eyes there's really only three
distributions
that you really that really exist and
that's debian
arch and and a lot of the the red hat
based stuff which would be fedora
for for most people but there's so many
spin-offs of that and really when it
comes to the spin-offs of those
distributions
it comes to customization so in today's
live stream really what we're going over
is just kind of taking one of those
mainline branches
and i think we're gonna probably do this
maybe once every month or two
and the next one we'll pick a different
branch so
in today's branch of course we're gonna
choose
arch linux uh which when it comes to
arch uh
arch is fantastic for learning linux
so when it comes down to that that's
that's really the the big thing about uh
arch linux that i want people to take
away from it it's a great
learning experience if i just want
something to work forever and ever and
ever and just kind of leave it in the
background much like my streaming pc
that i use to
display all the overlays with my stream
deck and everything typically that's
debian based
i have a custom project we've already
kind of started it's called archmatic
it's been on my repost for a long time
but i kind of retooled it this past
week and fixing it up to basically do a
lot of the automation for us
eventually it'll get to the point where
it just is a one
script and you just click that and just
does everything for you
but for today's video it's obviously
broken up into about five parts
the reason why breaking it up when
before you combine it into a script it
just makes it easier to troubleshoot
stuff are you gonna go package this in
an iso
i am not i am not crypto thank you for
the super chat by the way
um i will make obviously it's on github
i eventually want to make it just so you
can kind of learn the steps and
customize this script to your needs what
i like to do we're just going to
first grab some utilities uh from
pac-man
uh we're going to have to do a syyy just
to kind of update the
what's there and then once it grabs our
database we'll be able to
grab some of the utilities we need first
off we're going to need git
curl w get
just some basic things just to grab
those scripts that we're talking about
yeah and some people are asking in chat
about
desktop environments of today um we're
not going to use any desktop
environments this is going to be
from not from scratch because links from
scratch are building the kernel you're
building out the package manager you're
building out everything
where arch just kind of makes it easy
and
i mean i say easy but relatively
to build your own and get every single
little piece what you want
uh so that's the point of this this
stream is really to get
everything that you use and make it
streamlined so you're not gonna have a
whole bunch of bloat you're not gonna
have any bloat really
every single package we're purposely
installing
and saying these are exactly what i will
use
and then there won't be any excess
packages that we never use
in this uh thing so we're gonna just get
clone and we're gonna get
that github project we're going to clone
it
and then we can start the actual setup
now this i've never actually tried this
script prior to the live stream
which well probably should have but you
know i always like to show
failure on my live streams
uh it's just it's just fun that way
so you guys can know that hey nobody's
perfect
and uh when you look at like a youtube
video and someone does it in like five
minutes
just know that that's probably chopped
up a bit
so let's go ahead run the pre-install
pre-installs first and then you go once
it boots into the system
zero through nine i couldn't remember
the order i put it in
it is still early for me all right so
this is the pre-install
once you get in here clone it and then
from the clone
reinstall this will reformat our drives
but i don't care let's let's see what
happens
yeah so this will automatically format
your drive so don't don't run it on
like your main box um obviously
that would not be good so this what it
does is
it says hey um this
is gonna format your drive it doesn't
lsb okay so you can pick out what one
is the actual thing so we're gonna go
dev sda because that's our
our actual main disk for this machine it
should go through format it
let's see what happens all right so
proceed anyways
yes so like i hate making
distributions or i hate making uh new
distributions so
really this is just gonna be a
customized arch you can call it whatever
you want
i'll i'll leave it to you guys as this
is something i want you guys to just run
and at the end of the day you're just
going to have
the base arch and then obviously here in
a month or two
we can switch over and do the same thing
for debian
to where it would automatically do a lot
of this stuff as well
but overall i think the script's working
really well i really like how the
formatting worked out really
good there we're going to see if the
actual partition tables are proper this
time
the last time we got to this step uh the
partition tables weren't
uh so i'm curious to see if this cg disc
or sg disc is what we're using for
in the script so this time around it
uses sg disk
we'll see how well it does with the
partition tables and and how well it
partitioned that
efi partition how many times can i say
partition
all right now let's do a boot ctl
install i believe
this is ch yeah it is ch root i believe
yeah yeah we're ch root in
so we should be able to just do b ctl
install
that looked like it worked but i don't
think we have a loader
if we go into so this is using systemd
boots so
folks that never seen systemd boot it's
actually easier than grub
if everything's set up exactly right um
but a lot of times it's not so it can
definitely throw you through a loop if
we go into our boot
let's see here we have the linux image
in efi we should have an actual loader
file
which i don't see any loader you know
what i don't think in the options i
don't i don't think this is right
anyways
because i think i need to use uuid when
i'm making this loader
so under boot loader we need to actually
add those uh the directory
and entries i think we should be fine
after that though
so let's flip back over here and see
what we got
let's come back into the boot directory
do an ls
loader ls and
i think in entries we should see
something which we don't have anything
so let's make an
arch.com entry
and then here we'll make the title
title um arch
linux and from here we're going to do a
full
retrieve of a blk id
and we're going to grab sda
1 or sda2 so we're going to actually
wrap actually let's grab ext4 i believe
would be oh i'm trying to think of what
i named this
i don't think i named yeah let's just
grab the whole blk id and then we'll
just clean it up
all right so we don't need sda1
we'll delete that sda2
we'll just get rid of and then let's
just
punch into insert mode and then we're
just going to pull this
back grab just the uuid
and that should be it
let's escape that and then we're just
going to delete the rest of the line
so i'm just grabbing the uuid and we're
just building this one
systemd entry out it's weird that i
think there's some program for systemd
i think i can't remember what it is but
it'll actually build the loader files
for you i need to look more into that so
i'm not custom building it like this
so this one let's just go ahead
delete that we'll put root in
equals and quote it
and then end up with rw at the end i
always keep hitting escape darn vms
but anyways this is a good test
and then we'll save and quit so for
clear
list we can cap that arch and this is
what
our boot should be sometimes you can do
a u code in here i don't think i need
the u code
on this maybe i do let's see i don't
have it over
here but i did notice on this one
having the intel u code
which this is an intel on this guy i
don't know if i actually need that for
the virtual box or not let's take a look
let's take a look and and when i say
linux is linux a lot of this
is universal so right now i don't see a
u code anywhere in here
as far as the image also matching what
we just installed on that so if we
cat into loader
oh cat loader entries
arch i always like anytime i make a
custom boot entry just checking to make
sure
that like this right here vm
linux also matches this file then we
also have init ram
fs linux in it ram fs dash linux
right here so those files are good but
don't put
entries in here for files you don't have
obviously that would
not work you might see other things in
just the boot directory
when you do a listing you might see uh
amd
dash u code or intel dash u code you'd
want to add that option
into the loader file uh per per the
entry in here so you can actually see
that right here but
we don't need to do it in this instance
all right so now
yay we have ip
we'll first update our databases
and then let's do a listing
[Music]
all listing all right yeah we're this is
bare bones so we're not
we're not really using anything uh let's
let's see where we start with
so this is as bare bones linux distro as
you can get
just i'm already starting to blow it up
with neofetch i hear you guys i hear you
guys i don't even need to look at chat
to know that's what you guys are saying
all right so bare bones linux distro
about 67 megs of memory
being used um 163 packages
so overall i mean that's pretty pretty
[Music]
light
so we will be using awesome window
manager we will not be using
any desktop environments however there's
going to be pieces of desktop
environments we might grab
like lx appearance i think is one um
a lot of x utilities i like to use i
switched off x screensaver and i'm now
using xfc for
power manager i love the xfce power
manager
i think it's one of the best so i'm just
kind of piecemealing a little bit of
this
but what i don't want is to hit a large
desktop package and install an entire
desktop environment and load up this
whole system
as if this ever goes over like a
thousand packages
i did something wrong um so i think from
here let's go ahead
and now we have to install some of our
stuff which
get curl that should be able to get us
most of the way there
[Music]
and we're going to get clone
notice that the installation media is
different from the actual install so
that's why we're cloning it twice
and we're going to just go crystal's
tech archmatic
and then we can actually do a listing
i need to grab my aliases it's driving
me batty
all right anyhoo all right uh
ls al and we should have all executing
scripts
and we can run our setup and this
should create our user get everything
exactly how it should be
oh somebody says arch
somebody done like awesome window
manager
hater all right we'll call this one
titus arch
for the host name username we're going
to call this titus
password super secure
and here we go this should
start customizing the distro itself uh
using just the zero setup
and then we'll walk through each step
and see what we get
and now now we can do this
now this should install this is doing
xorg and i think i put little
little brackets here to see what all is
going on but i'll try and say what's
happening as it's installing
so right now it's just doing all the
xorg stuff which is this display
renderer
alright so this one is finished for the
base and now we can move on to
the software the software portion is
just like your basic utilities that are
needed
a file manager that type of thing so
let's go ahead and run it
so we're going to go to software pac-man
so this is just going to be some little
things i am adding the lts kernel
if you're ever running arch you always
want the lts kernel because there's
going to be times things break
so that's why
and also like this basic setup should
get you to
basically how my desktop looks as well
so
it should be a very very minimal install
with
pretty much everything that you need or
everything that i use
but if there is something missing fork
it add add whatever packages you want to
it
or remove packages there's things that i
know a lot of the linux community hates
that i use
like vs code um and some
some other probably software packages in
there as well
uh the system specs on this guy is four
megs of memory
uh two cores um
32 gigs of memory or 32 gigs on the hard
drive
so not not much uh if we look at
let's see what we're at on the neofetch
already
yeah we're already up to 800 packages
yeah we're getting close to that
thousand thousand package marker
but pretty much everything's installed
except for the aur
stuff which i don't really use much in
the aur so this should go pretty quick
all right so we got all that in um now
we can do the post install
and we should be able to boot up here
and there we are
all right got got my display in just
fine
that worked in the script this part did
not
ah oh you know what it is i bet you
um
let's go into the config file
is there not there's not even an awesome
config all right so i know what happened
git clone um i
forgot to clone my configuration uh into
here so github.com
and we're gonna just clone this directly
into here and we should have pretty much
an identical setup
to what i'm running on most of my
systems
so material
awesome and then we're gonna run that to
dot config awesome
and then we should be able to reload
this and we should have pretty much my
desktop that you see on all my videos
all right let's let's try reload awesome
here we're gonna just go awesome
restart oh there we go
so we've got that
my little synology drive so now we have
the desktop
so this isn't using and if i do
[Music]
terminator i would use my hotkeys but
it's just going to pull up my stuff
so i can actually pull this in and if i
did it right
we should be able to do some translucent
effects and some other stuff
i did switch the project out um i don't
know if a car is in chat
but when it comes to material awesome i
did do pycom
instead of compton compton's been
deprecated for a while now
um so we can actually um
ditch that so we're gonna actually just
change this around
you know i'll probably use monospace for
now i do have a video coming out next
week
going over terminal customization so
to make terminal look decent but we're
going to just
clean this up just a hair
mono space yeah let's go
regular and blow that up a little
bit background let's add a little
transparency shall we 69
transparency and we'll use some themes
go green on black i like that
and we should be solid here so let's
close that out
pull that back up and
yeah that didn't work yeah still don't
have that transparency i'll work on the
transparency uh for now let's do a neo
fetch
not bad i mean it's not bad so memory
usage
uh this whole operating system's rocking
about 200 megs of memory
um it's using about 800 packages which
is not bad
not like oh my god look at me i've done
it in minimal packages because we
installed a crap ton of stuff here
we have full functionality
pretty darn awesome
uh but that's awesome window manager in
a nutshell
um that's what i use on my main box the
whole idea of this script is to kind of
build this out in arch
like i said we're going to revisit this
once i get this arch script kind of
cleaned up a bit
then we're gonna go over to debian um
because pretty much every distro falls
into most of these things and also like
fedora
uh we'll do a fedora one too um
but you know just to show that when it
comes to distributions it's really
about the syntax and just getting things
cleaned up
um this went pretty smooth for the most
part for it being the very first
run-through of a
fresh script i thought it was pretty
good um
obviously the start and post definitely
need some work
uh i'm terrible at bash scripting but
i'm getting better
um and yeah that's that's about it when
it comes to
building your own um we'll do this one
was archbase again next month
let's do let's plan on doing a debian
based run through of this and build out
浏览更多相关视频
🚀 INSTALACIÓN Y CONFIGURACIÓN DE LINUX MINT 22 XFCE 🖥️ | TUTORIAL COMPLETO
Como Instalar Linux Mint | Guía paso a paso del proceso de instalación desde USB
Por Qué uso Linux para Programar y Desarrollar Aplicaciones
Cómo instalar Kali Linux en VirtualBox Tutorial paso a paso
🔥 CREA un USB BOOTEABLE para INSTALAR LINUX: Guía Paso a Paso en WINDOWS y LINUX 🚀
VMware TUTORIAL completo (Crear máquinas virtuales) // Español 2023
5.0 / 5 (0 votes)