(Imagen tomada de Wikipedia)
Guía rápida de instalación paso a paso de Crux Linux.
1. Iniciar la imagen ISO en modo UEFI.
2. Cargar el sistema, iniciar con la opción "Install/Upgrade Crux X.X (UEFI mode)".
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).
4. Ejecutar cfdisk, generar una tabla de particiones "gpt" (ver nota en azul) y crear las siguientes particiones:
1: 500 M, tipo "EFI" (para "boot-efi");
2: 40 G, tipo "Linux file system" (para "/");
3: 5 G, tipo "Linux file system" (para "/tmp");
4: 2 G, tipo "swap" (para "swap");
5: 40 G en adelante, "Linux file system" (para "/home").
La partición "efi", debe poseer las banderas (flags) "boot" y "esp".
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
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
mkswap /dev/sda4 -L swap
mkfs -t ext4 -L home /dev/sda5
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 /tmp
mkdir /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
9. Ejecutar "setup" en la consola, dejando 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.
11. Hacer "chroot" manual: (VER NOTA 4)
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:
whoami # Opcional
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, y el resto, dejarlas tal como están.
Observar que las 2 líneas que tienen que ver con "efi", estén activas, al igual que las 2 últimas.
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
15. Compilar y ejecutar el menú de configuración del kernel:
make menuconfig
16. Observar cuidadosamente que estén marcadas las siguientes opciones:
- Enable the block layer / Partition Types / y marcar "EFI GUID Partition support".
- Processor type and features / y marcar "EFI runtime service support" y "EFI stub support".
- File systems / Pseudo filesystems / y marcar "EFI Variable filesystem".
- Device Drivers / Graphics support / Frame buffer Devices / y marcar "Support for frame buffer device drivers".
- Device Drivers / Graphics support / Frame buffer Devices / Support for frame buffer device drivers / y marcar "EFI-based Framebuffer Support".
- Device Drivers / Graphics support / Console display driver support / y marcar "Framebuffer Console support" y "Map the console to the primary display device".
* * * NOTA: si existiese alguna entrada previamente marcada con "M", cambiarla por un asterisco (*).
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 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
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.
19. Ejecutar "make modules_install".
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).
21. Instalar GRUB:
grub-install /boot/efi
grub-mkconfig -o /boot/grub/grub.cfg # (VER NOTA 3)
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.
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").
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".
- curl -o /etc/ports/mate.httpup https://raw.githubusercontent.com/mhoush/crux-mate/main/mate.httpup
- 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).
- ports -u
- cp /usr/ports/mate/mate.pub /etc/ports/
- 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. - En "/etc/rc.conf", agregar "dbus" (dentro de los paréntesis) en la línea "SERVICES".
- 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?
- ¿Se debe configurar X11?
- ¿Se debe reiniciar?
- ¿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.
(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.
0 Comentarios:
Publicar un comentario