Mostrando las entradas con la etiqueta crux linux. Mostrar todas las entradas
Mostrando las entradas con la etiqueta crux linux. Mostrar todas las entradas

INSTRUCCIONES DE INSTALACIÓN DE CRUX VIA HERRAMIENTAS UNIX-KISS DE ENTROPÍA BINARIA


El logotipo original de CRUX es muy pequeño: lo he escalado y retocado mínimamente con IA y a mano para utilizarlo sin perder definición.

------------------------------------------------------------------------------------
INSTRUCCIONES DE INSTALACIÓN DE CRUX VIA HERRAMIENTAS UNIX-KISS DE ENTROPÍA BINARIA.
------------------------------------------------------------------------------------

* Sitio oficial de CRUX Linux:
https://crux.nu/Main/HomePage

* Documentación oficial:
https://crux.nu/Main/Documentation

* Enlaces externos de contribuyentes:
https://crux.nu/Main/Links

* Descarga de la ISO oficial:
https://crux.nu/Main/Download

* Descarga de la ISO actualizada de Matt "Jaeger" Housh:
https://crux.ninja/updated-iso/

* Descarga NO OFICIAL de la ISO de "Jaeger" con inyección de los programas de Entropía, por Google Drive, solo para compartir y facilitar la instalación:
https://drive.google.com/drive/folders/1f2vvCd4mohYB0W6a4zgHFo_LP6NcLIhE?usp=drive_link

* Programas independientes que están dentro de la ISO y que pueden haber tenido actualizaciones que no estén allí:

https://codeberg.org/entropiabinaria/InstaCrux

https://codeberg.org/entropiabinaria/EtherFi

https://codeberg.org/entropiabinaria/crux-instapelao

https://codeberg.org/entropiabinaria/AMPCI

https://codeberg.org/entropiabinaria/InyectISO

* También tenemos una sub-sala para hablar de CRUX en el grupo de Telegram:
https://t.me/grupo_entropiabinaria

>>>

1: instacrux/InstaCrux.sh

GENERALIDADES.
--------------

Primero se ejecuta InstaCrux, el cual te permitirá instalar un CRUX base oficial ya actualizado por Matt Jaeger Housh (uno de sus desarrolladores principales. InstaCrux eliminará todos los datos de la unidad de almacenamiento que elijas, y realizará una tabla de archivos GPT con las 5 particiones que en Entropía se promueven como buena práctica:

    /boot/efi
    /
    /tmp
    swap
    /home
    
Luego ejecutará el "setup" propio de CRUX.
Luego instalará a CRUX en tu máquina, compilará el kernel y te ofrecerá copiar a la instalación nueva los programas de Entropía binaria necesarios para instalar a CRUX de manera automatizada.

ESPECIFICIDADES.
----------------

Este instalador también te permitirá realizar un montón de pasos y ajustes más, los cuales son, al igual que los anteriores, igualmente importantes:

    - configurar el teclado y la zona horaria,
    - establecer la contraseña del usuario root,
    - elegir cómo compilar el kernel,
    - establecer el nombre del sistema para la red (hostname) y los DNS,
    - establecer el arranque via "EFIstub" (sin "bootloader" tradicional, arranque directo por UEFI),

<<<

>>>

2: etherfi/EtherFi.sh

Antes de ejecutar al siguiente script, vas a necesitar a este (a menos que tengas automatizado el proceso de levantar a mano tu tarjeta de red y conectarte, especialmente tratándose del WiFI.
Esto es lo que resuelve EtherFI: levantar a la tarjeta Ethernet y dejarla activa y con conectividad, y/o hacer lo mismo con la WiFI, cosa algo más compleja de realizar a mano. Una vez que hayas logrado levantar a la interfaz correspondiente y estés conectado, puedes proceder a ejecutar el script siguiente.
NOTA: a veces Etherfi te dará un mensaje de conectividad satisfactoria, pero en otras ocasiones y tal vez por un exceso de perfeccionismo al desarrollarlo, te dará un mensaje ambiguo, diciéndote que se realizaron todos los pasos necesarios pero que puede que aún no tengas una red lista. Si tenés dudas, podés hacerle ping a lo que quieras (ejemplo: ping wikipedia.org), pero no he visto un solo caso en donde EtherFi haya fallado de verdad. 

<<<

>>>

3: crux-instapelao/crux-instapelao.sh

Este programa realizará un montón de tareas más que no se pueden hacer desde la "ISO live" y sin haber reiniciado e ingresado en el sistema ya instalado. Es por esto que "InstaCrux" e "crux-instapelao" no están fusionados, al menos hasta ahora.
En el caso de "instapeláo", las acciones que te permitirá realizar, serán las siguientes:

    - actualizar a los ports (fundamental al trabajar con software de los repositorios),
    - actualizar al sistema entero (fundamental para que la posterior compilación no "reviente"), (1)
    - crear un usuario no root, con directorio propio y contraseña,
    - elegir cómo compilar varios paquetes que será necesario descargar,
    - instalar XOrg y PulseAudio,
    - activar servicios de arranque, dejando todo pronto para instalar, finalmente, un entorno gráfico.

<<<

>>>

OPCIONAL I: ampci/00_EFI_acomodeitor_[CRUX].sh

Si estás reinstalando CRUX (es decir, si no es la primera vez que lo instalás en el mismo equipo), las entradas de CRUX viejas, puede que empiecen a estorbar, ya que algunas NVRAM no poseen una buena gestión de lo que hacen y toleran entradas basura que no conducen a ninguna parte. Hay otras que limpian a las entradas que llevan a caminos sin salida (o a errores de arranque), mientras que la mayoría de las NVRAM, o bien fallan y detienen el arranque al encontrarse con algo de esto, o simplemente siguen intentando arrancar a las entradas siguientes, iniciando con la primera que funcione.
Al reinstalarse, CRUX generará nuevas entradas para sí mismo sin borrar las anteriores (CRUXes viejos), y si detectase a otros sistemas operativos en otras unidades de almacenamiento, te mostraría también a esas, ya que no lee a las mismas desde GRUB, LILO o cargadores de arranque por el estilo, sino directamente desde la NVRAM de tu equipo... la cual depende de la prolijidad del fabricante de la placa o de ese chip, no de CRUX. También podrás cambiar el orden de esas mismas entradas, junto con las de CRUX, así como eliminar las que no quieras, agregar entradas a mano si lo necesitas, respaldar la configuración de la NVRAM y restaurarla (cuidado, restaurar es experimental y corre a tu proipio riesgo).

<<<

OPCIONAL II: inyectiso/InyectISO.sh

Si querés armarte a tu propia ISO de CRUX para proyectos personales, podés hacer lo que hago yo. Antes de instalar al sistema, creo a mi propia ISO, lo cual consiste pura y exclusivamente en agregarle un directorio en su raíz, conteniendo a los programas que quiero y/o necesito, para llevarlos dentro de la imagen "buteable".
Cuidado: revisá la licencia de CRUX, porque redistribuir una imagen ISO oficial con "cosas metidas adentro", ya no es oficial y rompe la credibilidad si no se sabe quién la colocó en dónde ni qué le hicieron a la misma al ofrecértela. Yo lo hago solamente para simplificarme la vida a mí, y si esto te seive, excelente, se comparte. Pero tengo claro que de "mío" este proceder no tiene nada. Solo es un "atajo inteligente".

>>>

<<<

NOTAS AL PIE.
-------------

(1) Por más que Matt Housh ("Jaeger") colabore enormemente con nosotros al ofrecernos un CRUX actualizado, una vez que esa ISO se cerró y publicó, algunos programas de los ports (repositorios) de CRUX se seguirán actualizando, y dichos paquetes actualizados ya no formarán parte de la ISO de Matt. Es por esta razón que aunque te descargues esa ISO, verás que es necesario actualizar "un poco más" al instalar. Y lleva tiempo. Y es fundamental hacerlo. Tené paciencia.

Guía rápida de instalación paso a paso de CruxEx Linux

Guía rápida de instalación paso a paso de CruxEX Linux.

A las siguientes instrucciones las hemos adaptado según nuestros criterios. La fuente original, es la guía oficial de CruxEX: https://cruxex.exton.net/
El texto que figura en cursiva, fue introducido por nosotros.
Las capturas de pantalla le pertenecen a Arne Exton.

NOTA 1: Al ejecutar CruxEX en VirtualBox, deberá agregar "nomodeset" a la línea de arranque. Presione TAB cuando vea el menú de arranque y agregue "nomodeset" (sin comillas) al final de la línea de instrucciones. Luego presione ENTER.

NOTA 2: se recomienda acompañar la lectura de este artículo con el video en YouTube sobre CruxEX en el canal "Entropía binaria": https://www.youtube.com/watch?v=EYV59WBWXps

Nota:
Para trabajar con mayor soltura, abra una terminal antes de iniciar el proceso de instalación, y ejecute

xrandr -q

Observe las resoluciones que mostrará la salida de xrandr, y escriba

xrandr -s 1440x900

Este es un ejemplo. Adapte la información a su situación.
Esta configuración se puede establecer de manera permanente luego de haber sido instalado el sistema.

Además, es recomendable evitar el inicio del salvapantallas antes de instalar CruxEX, ya que el sistema podría congelarse, dejando así de responder durante la instalación.

1. Automatizadamente (recomendado desde el medio "live"):

Menú "Preferences"/"Default applications for LXSession". Pestaña "Autostart", desmarcar "@xscreensaver -no-splash" y darle "Remove" al botón a su derecha.

2. A mano (recomendado para cuando el sistema ya esté instalado):

sudo nano /etc/X11/xorg.conf.d/screensaver.conf
Section "ServerFlags"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime" "0"
    Option "BlankTime" "0"
EndSection

Además, en ambos casos, se debe deshabilitar en tiempo real el salvapantallas, así como también la opción "blank", y también quitarlo de los ajustes de administración de energía:

xset s off
xset s noblank
xset -dpms

Estas configuraciones, también pueden establecerse de modo permanente luego de haber sido instalado el sistema.
Puede que la última línea genere un error, pero esto es totalmente desestimable.

A. Cree una partición de instalación primaria de aproximadamente 35 GB (tipo "Linux") y
Márquela como "bootable". Luego cree
una partición SWAP (Linux swap) de aproximadamente 2 GB en modo MBR-DOS (puede utilizar "sudo cfdisk" para esto).

En la terminal, ejecute:

sudo mkswap /dev/sda2
sudo swapon /dev/sda2

B. Inicie el instalador Refracta desde el menú y siga las instrucciones (mire esta captura de pantalla...)

Marque la opción "Use existing swap partition instead of swap file", y deje lo demás tal como está (esta opción debería estar marcada, puesto que el sistema debería haber "notado" que la swap fue previamente montada con el comando "swapon").

Cuando se le indique que "necesita al menos 2 particiones...", elija "Skip this step".

Seleccione /dev/sda1 para el sistema, y luego "ext4".

Seleccione /dev/sda2 para swap.

Seleccione "Proceed with the installation".
Si decidió formatear por su cuenta la unidad /dev/sda1, deberá contestar "yes" y dar ENTER a la terminal, que le hará saber que allí ya existe un sistema de archivos anterior.

Si pese a todas estas configuraciones el sistema se congela (en una máquina real) durante la instalación, aplique la "viveza criolla" (Peñarol... ¡inteligencia"): solo basta con que cada 30 segundos (aproximadamente), pulse alguna tecla "inofensiva" para el proceso de instalación, tal como "SHIFT" o "CTRL" (asegúrese de que la terminal esté "en foco" o "activa" al momento de hacer esto).
Si sucede lo mismo en una máquina virtual, revise la NOTA 1 al inicio de este artículo.

C. Cuando se le pregunte acerca de GRUB, debe tener cuidado. Si CruxEX es el único sistema en el equipo, instale GRUB con la opción "Copy files" y siga adelante con la opción "MBR" y luego, "/dev/sda".
No instale GRUB si ya tiene un sistema Linux instalado en su computadora y utiliza GRUB como cargador de arranque. Simplemente continúe sin instalar GRUB. Más adelante, puede agregar líneas de inicio para CruxEX en /boot/grub/grub.cfg en la partición donde tiene instalado a GRUB. Sin embargo, si necesita GRUB para instalar CruxEX en (por ejemplo) VirtualBox o VMware, deberá crear un entorno chroot y ejecutar los dos comandos siguientes:

1) grub-install /dev/sda
2) grub-mkconfig -o /boot/grub/grub.cfg
3) exit

Observe esta captura de pantalla...

D. Cuando se le pregunte acerca de un nuevo usuario de Linux, mantenga las cuentas de usuario y root; observe esta captura de pantalla...

E. Después de eso, recibirá 2 mensajes de error; observe esta captura de pantalla.

Pero no se preocupe. Todo está bien. Simplemente cierre el instalador (sucede que el instalador está diseñado para sistemas basados en Debian; de ahí los mensajes de error).

Quite el medio de instalación y reinicie. CruxEX debería estar instalado en el medio de almacenamiento y listo para ser utilizado.

Si el sistema inicia en la consola de GRUB, introduzca lo siguiente:

set pager=1
set root=(hd0,msdos1)
linux /boot/vmlinuz-6.11.0-rc5-amd64-exton root=/dev/sda1
initrd /boot/initrd.img-6.11.0-rc5-amd64-exton
boot

CruxEX iniciará, pero deberá reparar el arranque. En el artículo sobre Crux (o bien en los videos que hemos realizado y puesto en YouTube sobre Crux y sobre CruxEX), se explica cómo solucionar esto de 2 maneras muy simples y distintas: en uno de los casos, solamente deberás adaptar la información "UEFI" para que se ajuste al esquema "MBR", o bien utilizar "RescaTux" para reparar GRUB de manera automatizada.

Teclado.
La distribución del teclado predeterminada es la estadounidense (EEUU). Cámbiela ejecutando el comando setxkbmap se (por ejemplo, para Suecia). Para que sea permanente, cambie /etc/rc.conf.

Sonido y Pulseaudio.

En ambas versiones de CruxEX, está instalado Pulseaudio. El sonido solo funciona cuando inicia sesión como usuario normal (no puede ejecutar Pulseaudio como root).

Importante material complementario:

Guía de instalación oficial de Arne Exton, el creador de CruxEX:
https://cruxex.exton.se/install-harddisk/index.html

Descarga de CruxEX: https://sourceforge.net/projects/cruxex/files/

Sitios web y redes sociales oficiales sobre CruxEX.
Información sobre los paquetes preinstalados de CruxEX:
https://cruxex.exton.se/cruxex-3.7-installed-packages-240910.txt
Espacio sobre CruxEx en Facebook: https://www.facebook.com/linuxexton

Sitios web y redes sociales oficiales sobre Exton.
Webs de Exton: https://cruxex.exton.net/ y https://cruxex.exton.se/
Sobre Exton Linux: https://www.exton.se/about/
Todos los sistemas operativos Exton: https://www.exton.se/download/
Espacio de información y descarga de CruxEX: https://sourceforge.net/u/exton/profile/
Contacto: info@exton.se

De interés sobre Arne Exton.
Espacio en Facebook:
https://www.facebook.com/people/Arne-Exton/pfbid0C6jYs4R2BE3F95Lmtw6hqrxVMt6vgR6V6vZpTzhnneZDZsroDGomL7xWVg9ZxY5jl/
The Swedish Bar Association: https://www.advokatsamfundet.com/

Descarga de RescaTux:
https://sourceforge.net/projects/rescatux/files/

Videos en el canal de YouTube de Entropía.
Sobre CruxEX: https://www.youtube.com/watch?v=EYV59WBWXps
Sobre Crux (primer capítulo de varios existentes): https://www.youtube.com/watch?v=6TB5B9LDFeA

Entradas en el blog de Entropía.
CruxEx:
https://entropiabinaria.blogspot.com/2024/12/guia-rapida-de-instalacion-paso-paso-de.html
Crux: https://entropiabinaria.blogspot.com/2024/12/guia-de-instalacion-paso-paso-de-crux.html

Guía rápida de instalación paso a paso de Crux Linux.

 

(Imagen tomada de Wikipedia)


Guía rápida ACTUALIZADA Y MEJORADA de instalación paso a paso de Crux Linux.

En el año 2024 (año en el cual redacté 2 guías de instalación de Crux y CruxEx, y varios videos sobre la instalación exhaustiva y explicada para el canal de YouTube), hablé con uno de los desarrolladores de Crux, un tipo muy cálido y amable, Tim Biermann, quien incluyó todo este material que estoy mencionando, nada más y nada menos que en la web oficial de Crux.
Tim se tomó el trabajo de ver los videos subtitulados y/o leer los artículos que yo había escrito, y me señaló, con toda la razón del mundo, un error importante: que yo estaba solucionando con rEFInd un paso erróneo en mis guías de instalación.
Yo me comprometí a solucionar eso, y por eso es que coloreé con ROJO lo que ANTES ESTABA MAL, y en VERDE E ITÁLICA lo que AHORA ESTÁ BIEN.
Esta guía acaba de ser probada en un Crux de máquina virtual, y apenas lo instale en máquina física Y ADEMÁS Tim esté enterado de estos cambios, no solo quitaré todo lo que está en rojo, dejando esta guía totalmente limpia, sino que además, daré un paso más y haré un script de instalación de este tremendo sistema, con tremenda comunidad y desarrolladores humana y técnicamente brillantes. Gracias, Tim, por tu guía, por tu confianza y por tu paciencia.

NOTA DEL 2/8: el instalador YA ESTÁ HECHO. Si lo querés probar, ejecutá en un Crux Linux levantado desde "LiveCD" estas líneas:

ip link
dhcpcd <nombre_de_la_conexión_devuelto_por_el_comando_anterior>
curl -kLO https://codeberg.org/entropiabinaria/InstaCrux/archive/main.tar.gz
tar -xzf main.tar.gz
cd instacrux
chmod +x InstaCrux.sh
bash InstaCrux.sh

El instalador elimina todos los datos en el disco que le indiques. Procedé con cuidado y no estaría de más que lo probaras en una máquina virtual antes que nada. Reitero: ¡ojo si ya tenés a un sistema operativo y/o datos personales en la máquina en donde vayas a instalar a Crux mediante este script mío!

1. Iniciar la imagen ISO en modo UEFI.

2. Cargar el sistema, iniciar con la opción "Install/Upgrade Crux X.X (UEFI mode)".

2.5 ACTUALIZACIÓN 8/2026.

Si sos un usuario con teclado físico en español, para cambiar el teclado que viene por omisión en inglés, ejecutá: 

loadkeys spanish

3. Una vez que la consola haya iniciado, darle la siguiente orden para crear una tabla de archivos gpt:

parted /dev/sda1
mkpart gpt

Con "q", salimos de la consola en modo "parted" y volvemos al estado anterior (normal).

Actualización 8/2026: otro camino sería abrir cfdisk, definir una partición gpt, guardar y luego continuar con el paso siguiente.

4. Ejecutar cfdisk, generar una tabla de particiones "gpt" (ver nota en azul) y crear las siguientes particiones:

1: 500M, tipo "EFI" (para "boot-efi");
2: 40 a 50G, tipo "Linux file system" (para "/");
3: 4G, tipo "Linux file system" (para "/tmp");
4: 4G, tipo "swap" (para "swap");
5: 40 G en adelante, "Linux file system" (para "/home").

Debemos listar las particiones creadas, para ver cuál es el nombre del medio de almacenamiento asignado por Linux al mismo, y también poder conocer el nombre de la partición de arranque, así como también si la misma si posee las banderas necesarias anteriormente mencionadas. Lo haremos con "fdisk -l".
Para comprobar esto, finalmente podemos hacer "parted /dev/sda print".

NOTA: si al iniciarse cfdisk no se nos ofrece la opción de crear una tabla de particiones, ejecuta lo siguiente y continúa:

parted /dev/sda
mkpart gpt
quit/

4.5. ACTUALIZACIÓN 8/2026.

La partición "efi", debe poseer las banderas (flags) "boot" y "esp", y esto se consigue así:

parted /dev/sda set 1 esp on
parted /dev/sda set 1 boot on

Si querés ver si las banderas quedaron establecidas, podés ejecutar "parted /dev/sda print".

5. Listar y formatear todas las particiones:

Con "blkid -o list", podemos comprobar que ninguna partición posee etiqueta.

mkfs -t fat -F 32 -n BOOT-EFI /dev/sda1
mkfs -t ext4 -L root /dev/sda2
mkfs -t ext4 -L tmp /dev/sda3
mkfs -t ext4 -L home /dev/sda5
mkswap /dev/sda4 -L swap

Volver a ejecutar "blkid -o list" para ver las etiquetas ya creadas.

6. Montar la partición raíz en "/mnt":

mount /dev/sda2 /mnt

7. Crear los directorios dentro de "/mnt" para el resto de las particiones:

mkdir -p /mnt/boot/efi
mkdir /mnt/tmp
mkdir /mnt/home

8. Montar el resto de las particiones:

mount /dev/sda1 /mnt/boot/efi # (VER NOTA 1)
mount /dev/sda3 /mnt/tmp
mount /dev/sda5 /mnt/home
swapon /dev/sda4

Hacer cat /etc/fstab y comprobar que todas las particiones fueron creadas y que poseen sus atributos.

9. Ejecutar "setup" en la consola. Dejar el punto de montaje tal como lo presentará el instalador (/mnt).
Seleccionar todas las categorías (core, opt, x11) y todos los paquetes dentro de cada una de ellas.

10. Seleccionar grub2 y grub2-efi (VER NOTA 5), y esperar a que la instalación finalice.

NO seleccionar ningún paquete de arranque (ni grub2, ni grub2-efi, ni syslinux).
CRUX arrancará por "EFI Stub", utilizando el propio kernel como cargador, sin agregar complejidad y apelando a la simpleza (VER NOTA 5).
Pulsar "Yes" y esperar a que la instalación de los paquetes finalice. 

11. Hacer "chroot" manual: (VER NOTA 4)

clear
mount --bind /dev /mnt/dev
mount --bind /tmp /mnt/tmp
mount --bind /run /mnt/run
mount -t proc proc /mnt/proc
mount -t sysfs none /mnt/sys
mount -t devpts -o noexec,nosuid,gid=tty,mode=0620 devpts /mnt/dev/pts
mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
chroot /mnt /bin/bash

12. Establecer contraseña de root:

passwd root

13. Editar fstab, haciendo antes un respaldo del mismo archivo:

cp /etc/fstab /etc/fstab_ANT
nano /etc/fstab

NOTA: fstab, en el caso de Crux, posee líneas de ejemplo. Desmarcar (descomentar) las que sean útiles (/boot/efi, /, /tmp, swap, /home), y el resto, dejarlas tal como están.
Observar que las 2 líneas que tienen que ver con "efi", estén activas (efivars y /dev/sda1), al igual que las 2 últimas (devpts y shm).


Editar fstab, haciendo antes un respaldo del mismo archivo:

cp /etc/fstab /etc/fstab_ANT
nano /etc/fstab

NOTA: fstab, en el caso de Crux, posee líneas de ejemplo. Desmarcar (descomentar) las que sean útiles (/boot/efi, /, swap, /home), y el resto, dejarlas tal como están.
Observar que las 2 líneas que tienen que ver con "efi", estén activas (efivars y /dev/sda1), al igual que las 2 últimas (devpts y shm).

IMPORTANTE - Sobre /tmp: la línea de /tmp que trae Crux por defecto usa "tmpfs", es decir, monta /tmp en memoria RAM (no en disco). En un sistema como Crux, que compila software constantemente, esto es lo recomendable: es más rápido y /tmp se limpia solo en cada reinicio. Para ello, la línea debe quedar así (con "tmpfs" en la primera columna, NO "/dev/sda3"):

tmpfs                   /tmp          tmpfs     defaults                                0      0

Aunque en el paso 4 creamos y formateamos la partición /dev/sda3 para /tmp, la dejamos como RESERVA: no se monta, pero queda lista por si algún día preferís mover /tmp al disco (algo que, ya con el sistema instalado, implicaría redimensionar particiones con riesgo). Si en el futuro querés usar esa partición para /tmp, comentá la línea "tmpfs" de arriba y agregá esta:

/dev/sda3              /tmp          ext4      defaults                                0      2

14. Ver qué nombre posee el directorio del kernel con "ls -l /usr/src", y a continuación, ingresar a dicho directorio:

cd /usr/src/linux-X.XX.X

ACTUALIZACIÓN 8/2026: esto también se puede hacer acortando camino: cd /usr/src/$(ls /usr/src) 

15. Compilar y ejecutar el menú de configuración del kernel:

make menuconfig

16. Observar cuidadosamente que estén marcadas las siguientes opciones.

NOTA IMPORTANTE: si existiese alguna entrada previamente marcada con "M", cambiarla por un asterisco (*).

  • Processor type and features: marcar "EFI runtime service support", "EFI stub support" y "Built-in kernel command line", "Built-in kernel command string (New)" agregando manualmente

        root=/dev/sda2

  • Enable the block layer / Partition Types: marcar "EFI GUID Partition support".
  • Device Drivers / Graphics support / Frame buffer Devices: marcar "Support for frame buffer device drivers".
  • Device Drivers / Graphics support / Frame buffer Devices / Support for frame buffer device drivers: marcar "EFI-based Framebuffer Support".
  • Device Drivers / Graphics support / Console display driver support: marcar "Framebuffer Console support" y "Map the console to the primary display device".
  • File systems / Pseudo filesystems: marcar "EFI Variable filesystem"

Guardar y salir. Se habrá creado el archivo ".config" en el directorio en el cual estamos trabajando.

17. Hacer "cp .config .config_ANT" para respaldar el archivo recientemente creado.
Ejecutar "nano .config" y verificar con cuidado (CTRL F) que las siguientes opciones estén presentes, y que también estén encendidas (es decir, que posean una "y" al final):

CONFIG_SATA_AHCI=y
CONFIG_BLK_DEV_SD=y
CONFIG_EXT4_FS=y
CONFIG_EFI_STUB=y
CONFIG_DEVTMPFS=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="root=/dev/sda2" 

Guardar y salir.

18. Compilar el kernel recientemente configurado con "make all". Esperar pacientemente hasta que termine la compilación. Puede demorar un promedio de 45 minutos en una máquina medianamente potente. Referencia: en una máquina virtual corriendo sobre hardware potente, estuvo desde las 20:16 hasta las 20:47 compilando, es decir, media hora.

19. Ejecutar "make modules_install".

Un "Cannot find LILO", es "ruido esperable" en este "setup" sin bootloader tradicional. Seguí sin dramas si aparece ese error.

20. Volver a revisar el nombre del directorio del kernel (ls -l /usr/src) y copiar el archivo bzImage en /boot/efi, cambiándolo de nombre:

cp arch/x86/boot/bzImage /boot/efi/vmlinuz-X.XX.XX

También copiar el siguiente archivo:
cp System.map /boot/efi # (VER NOTA 2).


Volver a revisar el nombre del directorio del kernel (ls -l /usr/src) y copiar el archivo "bzImage" al subdirectorio BOOT de la partición EFI, con el nombre fijo "vmlinuz.efi":

clear
mkdir -p /boot/efi/BOOT
cd /boot/efi/BOOT
ls -l /usr/src

Acá, tomá nota del nombre exacto del kernel, y sustituí las "X" por lo que corresponda al copiar:

cp /usr/src/linux-X.XX.XX/arch/x86/boot/bzImage vmlinuz.efi

IMPORTANTE: acá se utiliza el nombre fijo "vmlinuz.efi" (sin número de versión) a propósito. Esto permite que, al actualizar el kernel en el futuro, solo haya que sobrescribir este archivo, sin tener que tocar nunca más la entrada de arranque en la NVRAM (se brindan más detalles sobre esto, en el paso 22).
Ahora, creamos también una copia de respaldo del kernel, llamada "vmlinuz_ANT.efi":

cp vmlinuz.efi vmlinuz_ANT.efi

Aquí se realiza una copia exacta del mismo kernel, porque en el paso 21 crearemos 2 entradas de arranque: una para el kernel activo (vmlinuz.efi) y otra de respaldo (vmlinuz_ANT.efi). La razón es que en una instalación nueva, es imposible que exista un "kernel anterior", así que se fuerza a que el respaldo sea, solo inicialmente, una copia idéntica del actual. De este modo, ambas entradas de arranque apuntarán a archivos que existan, y ninguna generará errores si se la intenta utilizar. Cuando en el futuro actualices el kernel (ver paso 22), este "vmlinuz_ANT.efi" se reemplazará por el que era tu kernel activo hasta ese momento, pasando a ser un respaldo genuino del kernel inmediatamente anterior.

No es necesario copiar System.map (ese paso solo corresponde para GRUB). 

21. Instalar GRUB:

grub-install /boot/efi
grub-mkconfig -o /boot/grub/grub.cfg # (VER NOTA 3)


Crear las entradas de arranque en la NVRAM.

Ahora es necesario crear las entradas de arranque en la NVRAM. Ejecutá el siguiente comando para crear la entrada del kernel activo:

efibootmgr -c -d /dev/sda -p 1 -L 'Crux_Kernel' -l '\BOOT\vmlinuz.efi'

A diferencia de otras guías, acá no hay ninguna "X" ni número de versión a sustituir en la ruta, porque se está usando el nombre fijo "vmlinuz.efi".

Se creará también una segunda entrada, de respaldo, que apunte al kernel de respaldo "vmlinuz_ANT.efi" (que fue copiado en el paso 20):

    efibootmgr -c -d /dev/sda -p 1 -L 'Crux_Kernel_PRE' -l '\BOOT\vmlinuz_ANT.efi'

La primera ("Crux_Kernel") apunta al kernel activo. La segunda ("Crux_Kernel_PRE"), al de respaldo. Gracias a que en el paso 20 fue copiado el kernel también como "vmlinuz_ANT.efi", ambas entradas apuntan desde ya a archivos que existen, y ninguna dará error. En una instalación nueva, el respaldo es una copia idéntica del kernel activo; recién tras la primera actualización de kernel pasará a ser el kernel inmediatamente anterior. Estamos dejamos a ambas entradas creadas desde ya, para no tener que tocar la NVRAM nunca más.

NOTA: el atributo "-p 1" indica que la partición EFI es la número 1. El "-l" usa barras invertidas (\) y la ruta es relativa a la raíz de la partición EFI. NO usamos el atributo "-u 'root=/dev/sda2'", ya que el root ya fue incorporado al propio kernel en el paso 16 (Built-in kernel command line); si se agregara aquí, efibootmgr lo concatenaría a la ruta del archivo y rompería el arranque.

22. Ajustar la entrada predefinida en la BIOS con el siguiente comando:

efibootmgr # Para ver el contenido.
efibootmgr -o 000X,000X, ... # Nomenclatura.

Esto último (efibootmgr con el atributo "-o"), es para cambiar el orden de arranque de las entradas ya generadas y poder posicionar a Crux primero en la lista jerárquica.

Ya se puede apagar el sistema con "poweroff", quitar el medio de instalación e iniciar el sistema instalado de manera normal. Si por algún motivo necesitas reiniciar, el comando es "reboot".
Si al iniciarse, GRUB únicamente ve la sesión "UEFI Firmware Settings" (es decir, si no "ve" a Crux), esto es lo que hay que hacer para iniciar el sistema.

Presionamos la letra "c" cuando GRUB inicie. Esto nos traerá una consola GRUB.
Si en lugar de "UEFI Firmware Settings", aparece una consola "GNU GRUB", directamente hacer lo que está a continuación (no hace falta presionar la "c").

set pager=1
set root=(hd0,gpt2)
linux (hd0,gpt1)/vmlinuz-6.6.48 root=/dev/sda2
boot

En este caso, claramente hay un problema de arranque vinculado a GRUB, y debemos intervenir manualmente haciendo lo siguiente:

cp /etc/grub.d/40_custom /etc/grub.d/00_arranque
nano /etc/grub.d/00_arranque

Introducir las siguientes líneas:

menuentry "Crux Linux 3.7" {
    set pager=1
    set root=(hd0,gpt2)
    linux (hd0,gpt1)/vmlinuz-6.6.48 root=/dev/sda2
    boot
}

El arranque de GRUB debería haber quedado reparado, y Crux debería iniciar sin problemas.

Otra solución, podría ser activar el repo o port "contrib" (ver punto 26) e instalar el paquete "os-prober", con la ayuda del comando "prt-get depinst os-prober".
NOTA: no hemos explorado esta opción: solamente es una idea que podría no funcionar.

A esto, lo solucionamos entre el amigo Henry Jones, Gemini (la IA de Google) y yo, tras una extensa conversación que se fue por las ramas, no sin antes haber leído con bastante profundidad la documentación oficial de GNU GRUB ( https://www.gnu.org/software/grub/grub-documentation.html ), la documentación oficial para efi de Crux ( https://crux.nu/Main/Handbook3-7#ntoc13 y https://crux.nu/Main/Handbook3-7#ntoc68 ), así como también los siguientes artículos:
https://wiki.gentoo.org/wiki/GRUB/es
https://thelinuxcode.com/grub_boot_loader_full_tutorial/
https://www.baeldung.com/linux/grub-bootloader-add-new-os
https://wiki.archlinux.org/title/GRUB_(Espa%C3%B1ol)
Y... sí... también documentación de... RedHat y Canonical:
https://docs.fedoraproject.org/es/quick-docs/grub2-bootloader/
https://help.ubuntu.com/community/Grub2/CustomMenus

Si bien no somos partidarios del uso indiscriminado (ni siquiera frecuente) de las IAs, ni promovemos las NTI (ver videos I a V llamados "NTI-Nuevas tecnologías innecesarias" en https://www.youtube.com/@entropiabinaria ) creadas por estas 2 empresas, en este caso la honestidad intelectual obliga a admitir las fuentes de origen de la información, como corresponde.

Ajustar el orden de arranque para que Crux quede en la primera posición.

Antes que nada, hay que ver las entradas y los números asignados a "Crux_Kernel" y "Crux_Kernel_PRE":

clear
efibootmgr

Luego, hay que colocar primero el número de la entrada "Crux_Kernel", seguido de "Crux_Kernel_PRE", y a continuación todos los demás que hayas visto. Ejemplo:

efibootmgr -o 0003,0004,0002,0001,0000

De este modo, la UEFI intentará arrancar primero el kernel activo (Crux_Kernel); el kernel de respaldo (Crux_Kernel_PRE) queda disponible en el menú de arranque de la UEFI para elegirlo manualmente si alguna vez el kernel activo no arrancara.

Ya podés apagar con "poweroff", quitar el medio de instalación e iniciar normalmente.
Como el kernel ES el cargador (EFI Stub), no hay consola de arranque ni menú intermedio: es la UEFI (BIOS) la que carga al kernel de manera directa.

SOBRE LAS ACTUALIZACIONES DEL KERNEL EN EL FUTURO.

Gracias al nombre fijo "vmlinuz.efi", actualizar el kernel NO requiere volver a tocar la NVRAM. El procedimiento es:

1) Recompilar el kernel (make all && make modules_install).
2) Respaldar el kernel activo actual, renombrándolo como el anterior:

mv /boot/efi/BOOT/vmlinuz.efi /boot/efi/BOOT/vmlinuz_ANT.efi

3) Copiar el nuevo bzImage con el nombre fijo:

cp /usr/src/linux-X.XX.XX/arch/x86/boot/bzImage /boot/efi/BOOT/vmlinuz.efi

Las entradas NVRAM "Crux_Kernel" y "Crux_Kernel_PRE" siguen siendo válidas sin cambios: la primera apunta siempre al kernel recién copiado, y la segunda, al inmediatamente anterior. Si el kernel nuevo fallase, podrías igualmente arrancar con "Crux_Kernel_PRE" desde el menú de la UEFI y el sistema volvería a la vida con el kernel previo.

Pasos finales:

23. Respaldar y editar "/etc/rc.conf" para configurar la fuente del sistema (font), el teclado (keyboard), la zona horaria (timezone), el nombre del equipo (hostname) y los servicios que inician junto con el arranque del sistema (services). Las rutas de acceso a dicha información, son las siguientes, respectivamente:

/usr/share/kbd/consolefonts # Fuentes
/usr/share/kbd/keymaps # Teclado
/usr/share/zoneinfo # Zonas geográficas

24. Generar "locales" para el sistema. La ruta de acceso, es "/etc/locale.gen" y este archivo se puede editar con nano o vim. Recordar respaldarlo con anterioridad. Solo hay que desmarcar (descomentar) las líneas que nos interesen, y luego, correr el comando

locale-gen

A continuación, regresar al archivo "/etc/rc.conf", y en "KEYMAP=", colocar

ES_UY.UTF-8

o bien

ES_UY ISO-8859-1

o el tipo de teclado de tu preferencia. Nótese que en el archivo "rc.conf", la línea de teclado podría ser "ES_UY.UTF-8 UTF-8", mientras que la que se introduce aquí, deberá ser "ES_UY.UTF-8" (sin el segundo "UTF-8").

Generar "locales" para el sistema (el idioma y la codificación en que se expresará el sistema).

La ruta de acceso es "/etc/locale.gen", y este archivo se puede editar con nano o vim. Recordá respaldarlo con anterioridad con

cp /etc/locale.gen /etc/locale.gen_ANT.

Solo hay que desmarcar (descomentar) la línea del locale que sea de interés, EN SU VARIANTE UTF-8. Por ejemplo, para español rioplatense, descomentar la línea:

es_UY.UTF-8 UTF-8

(quitándole el "#" del principio). Otros ejemplos según región:

es_ES.UTF-8 (España), pt_BR.UTF-8 (Brasil), en_US.UTF-8 (EE.UU.).

Luego, generar los locales con el comando:

locale-gen

IMPORTANTE - No confundir locale con teclado: el locale (por ejemplo "es_UY.UTF-8") define el IDIOMA del sistema y va en la variable "LANG" del archivo "/etc/rc.conf", NO en "KEYMAP". La variable "KEYMAP" define el mapa de teclado FÍSICO (qué tecla produce qué símbolo), y sus valores son distintos ("es", "la-latin1", "br-abnt2", "us"), tal como se configuró en el paso 23.
Entonces, para que el sistema quede en español rioplatense, en "/etc/rc.conf" la línea de idioma debe quedar así:

LANG=es_UY.UTF-8

Recordá que el "locale" va en minúsculas para el idioma -"es_UY"- y en la variante UTF-8. La parte "país" del locale se escribe en mayúsculas: "UY", "BR", "US", "ES".)

25. Respaldar y editar "/etc/rc.d/net", "/etc/hosts" y "/etc/resolv.conf" para configurar la red, los servidores DNS (8.8.8.8 8.8.4.4 1.1.1.1), etc. (NOTA 6)

26. Complementos importantes: activación de repositorios oficiales y de comunitarios esenciales.

3 de ellos ya vienen integrados en el sistema, y solamente hay que activarlos. Dichos repositorios (ports), son: "core", "opt" y "xorg", y harán visibles y se actualizarán ejecutando el comando "ports -u".
No obstante, habrá otros 2 repositorios que habilitar, ya que en ambos residirán muchos paquetes que pueden llegar a ser muy necesarios según el criterio de cada quien, tales como algunos juegos, docker, flatpak (se aconseja evitar su uso a menos que esto sea estrictamente necesario), gimp, handbrake, inkscape, kodi, varias librerías importantes, neofetch, neovim, networkmanager, nmap, ntfs-3g, openjdk, os-prober, p7zip, pavucontrol, prometheus, protontricks, varios programas Python, rtorrent, steam-native-runtime, sway, tenacity, tint, transmission, tree, virt-manager, wayland (se aconseja evitar su uso debido a su inmadurez crónica), weechat, wine-staging, winetricks, wireplumber, wireshark, xdiskusage, xsane, zenity, y varios programas y librerías necesarias de la plataforma "ix86", es decir, 32 bits, entre muchos otros.

A continuación, haremos lo siguiente:

mv /etc/ports/contrib.rsync.inactive /etc/ports/contrib.rsync
mv /etc/ports/compat-32.rsync.inactive /etc/ports/compat-32.rsync

Último paso: editar el archivo "/etc/prt-get.conf" con nano o vim, y desmarcar o "descomentar" las siguientes líneas:

prtdir /usr/ports/core
prtdir /usr/ports/opt
prtdir /usr/ports/xorg
prtdir /usr/ports/contrib
prtdir /usr/ports/compat-32

Si alguna de estas líneas no existiese, deberá ser ingresada a mano al archivo. Guardar, y correr el comando "ports -u". Tarea finalizada.

27. Instalación de un entorno gráfico y habilitación de la funcionalidad del ratón
(aún estamos en modo de prueba con este punto: utiliza esta información bajo tu propia cuenta y riesgo, por ahora).

prt-get depinst xorg-xf86-input-vmmouse # o "mouse" para instalaciones físicas.

OpenBox:


Escritorio "Mate".

  1. curl -o /etc/ports/mate.httpup https://raw.githubusercontent.com/mhoush/crux-mate/main/mate.httpup
  2. En "/etc/prt-get.conf", añadir "prtdir /usr/ports/mate" de modo que quede por encima (arriba) de los repositorios existentes (core, opt, xorg, contrib, y compat-32).
  3. ports -u
  4. cp /usr/ports/mate/mate.pub /etc/ports/
  5. prt-get depinst mate --install-scripts --margs="-in"
    Apróntate para esperar un largo rato hasta que el sistema termine de descargar, descomprimir, compilar e instalar cada paquete. Esta acción de compilar un escritorio, seguramente demore mucho más que la de compilar el kernel.
  6. En "/etc/rc.conf", agregar "dbus" (dentro de los paréntesis) en la línea "SERVICES".
  7. Editar ".xinitrc" y agregarle la línea "exec /usr/bin/start-mate &". Si ".xinitrc" no se encuentra dentro del directorio "home" del usuario en cuestión, puede ser copiada (cp /etc/X11/xinit/xinitrc /home/USUARIO/.xinitrc) - recuerda respaldarla antes de editarla - y editada manualmente. Si en su lugar, editas el archivo "/etc/X11/xinit", entonces los ajustes se aplicarán a todo el sistema, y no a la sesión de un determinado usuario, tal como sucedería con la opción anterior. ¿Se deben borrar las líneas "twm &", "xclock", "xerm", "xterm" y "exec", y en su lugar, colocar la que se ha indicado y que se resaltó con negrita?
  8. ¿Se debe configurar X11?
  9. ¿Se debe reiniciar?
  10. ¿Se debe ejecutar en la consola lo siguiente para iniciar Mate?:
    exec /usr/bin/start-mate


Los puntos 1 a 26 de este artículo, fueron verificados y corregidos por el compañero y amigo "Henry Jones", a quien agradecemos enormemente.

Las siguientes anotaciones 2 y 3 solamente son válidas si estamos dentro del entorno chroot. De lo contrario, no hacer lo que dicen las instrucciones oficiales, sino lo que está anotado más arriba.

(1) La intuición lleva a que hagamos lo que dice en este instructivo, aunque las instrucciones oficiales indican "mount /dev/sda1 /boot/efi".
De todos modos, tiene más sentido realizar esto tal como indicamos aquí, ya que /boot/efi hace referencia al directorio del sistema que inició, no al que se está instalando (/mnt/boot/efi), y esto puede generar confusión
. Solamente en este caso es que no se recomienda seguir las instrucciones oficiales.

(2) La intuición lleva a que hagamos lo que dice en este instructivo (o a pensar en algo como "cp System.map /boot/efi/grub"). Las instrucciones oficiales indican "cp System.map /boot", y se entiende que aquí se aplica el mismo criterio expresado en (1).

(3) Puede que el razonamiento inmediato nos lleve a ejecutar "grub-mkconfig -o /mnt/boot/efi/grub/grub.cfg", pero basándonos en los criterios de la nota anterior, recomendamos seguir las indicaciones oficiales, siempre que se esté dentro del modo "chroot", tal como ya hemos aclarado oportunamente al inicio de este mismo apartado.

(4) Existe un script personalizado en Crux Linux, que permite ejecutar 7 de los 8 pasos de una sola vez. Si quieres probarlo, ejecuta "setup-chroot" en la consola, pero observa los datos fundamentales en la documentación oficial, ya que deberás introducir una de las líneas a mano (la séptima), a menos que estés instalando Crux en modo MBR-DOS. Además, hay ocasiones en las cuales "setup-chroot", podría no funcionar como se espera. No obstante, se recomienda ejecutar cada una de las líneas manualmente, evitando así la utilización del comando "setup-chroot".

(5) No le estamos dando soporte a "syslinux" únicamente para no hacer a este artículo innecesariamente largo, pero en la documentación oficial posees instrucciones para evitar GRUB y utilizar syslinux, que es un sistema de arranque más sencillo. Hemos optado por GRUB por ser más universal, pero puede que syslinux sea una mejor opción para ti, la cual también posee soporte en Crux.

CRUX ofrece tres caminos de arranque en UEFI: GRUB, SYSLINUX y EFI Stub. He elegido "EFI Stub" por ser el más simple y robusto: el propio kernel actúa como cargador, sin software intermediario. Requiere únicamente que el kernel se compile con CONFIG_EFI_STUB=y (paso 17), cosa que ya está incluida en esta guía. Si preferís GRUB o SYSLINUX, la documentación oficial los cubre en su sección "6. Appendix": https://crux.nu/Main/Handbook3-8#ntoc51

(6) Esto no es estrictamente necesario, ya que la conexión de red del sistema debería funcionar a la perfección sin habérsele realizado a Crux estos ajustes.

 

Actualización: 1/8/2026, 21:23, GMT -3
Última actualización: 
2/8/2026, 13:46, GMT -3

Flag Counter Visitas previas a la existencia de este contador: 3433

Artículos aleatorios

    Páginas: