jueves, 6 de enero de 2022

Instalar Slackware desde otra distro GNU/linux

 


 Después de una vuelta que resultó ser más extensa de lo que esperaba, regreso a mi distro preferida... parafraseando al poeta chileno Oscar Hahn "siempre /se/ vuelve al lugar del crimen"

Aunque tenia instalado en mi disco duro Slack 14.2 desde que se libero, casi no la había usado y los caminos de la curiosidad me llevaron a otros sabores de nuestro querido GNU... también, porque no decirlo, la necesidad me obligó a instalar Fedora y es desde aquí donde haré este tutorial.


¿Por qué instalar Slackware de esta forma?

Si bien hay muchas formas de instalarlo, y cada uno elegirá la que le convenga, simplemente quiero dejar una opción más y en la que no se requiere quemar nada, ni crear un usb boteable y que recuerda a la instalación de Gentoo, Void, Arch o un Debian net install pero sin red. 

 Pienso que esta este método es el más sencillo, practico y cómoda forma de instalación para Slackware y es la que vengo utilizando hace ya un tiempo. Además, tiene otro gran merito y es que mientras instalamos podemos seguir utilizando la compu normalmente.

 Comencemos entonces:

 

i.- DESCARGAR SLACKWARE

Empezamos descargando los paquetes desde el mirror que este más cerca o del que queramos, acá la pagina oficial: 

https://mirrors.slackware.com/mirrorlist/

En mi caso usaré el siguiente espejo y WGET

$ wget ftp://dfw.mirror.rackspace.com/slackware/slackware64-current/slackware64/{/a,/ap,/d,/e,/f,/k,/l,/n,/t,/tcl,/x,/xap,/y}/*  -r -c

Nótese que esto debemos ejecutarlo en una directorio limpio, como usuario normal ($) y como yo no uso ni kde, ni xfce... solo descargo los directorios que necesito, cada uno sabrá qué descargar... Con esto, simplemente descargamos lo básico y unos gestores de ventana que ya trae por defecto las instalación, a saber windowmaker, xblackbox. twm, fluxbox y no recuerdo cual más...


ii.- PKGTOOL

Ya descargados las fuentes, nos dirigimos al directorio a/ y buscamos el paquete PKGTOOL que es lo que nos permitirá lanzar el instalador de paquetes de Slack.

$ cp a/pkgtools-15.0-noarch .

$ tar xvf pkgtools-15.0-noarch....

llamaré al directorio base slackware64/

$ cp sbin/installpkg slackware64/ 

es decir, copiamos el installpkg al directorio base, de modo que si listamos, deberemos tener esto:

[root@darkask slackware64]# ls
a  ap  d  e  f  installpkg  k  l  n  t  tcl  x  xap  y


iii.- INSTALAR

Para comenzar la instalación debemos tener preparado la partición donde quedará nuestro nuevo y flamante Slackware, en mi caso tenia preparada sda3 y montado con el mismo nombre, así que ejecuto:

# ./installpkg --root /sda3 */*.t?z

como root, y mucho cuidado acá, definir bien la partición de destino que debe estar montada previamente, sino podemos romper algo y no me haré cargo de tu descuido.. en caso de ser necesario debemos darle permisos de ejecución:

# chmod +x installpkg

Esto lanzará el instalador de paquetes de slackware y enviará todo al directorio que le indiquemos.

 

iv.- CHROOT

Ahora ya esta instalado nuestro slack, solo necesitamos configurar varias cosas y para eso hacemos uso de chroot. Para esto nos dirigimos al directorio del nuevo slackware, en mi caso:

# cd /sda3

montamos los procesos y dispositivos

# mount --types proc /proc proc && mount --rbind /sys sys && mount --make-rslave sys && mount --rbind /dev dev && mount --make-rslave dev 

y ejecutamos

# chroot . /bin/bash 

Con esto ya estaremos logeados en el nuevo slack, luego cargamos el perfil

# source /etc/profile

Y para no olvidarnos que estamos dentro chroot recomiendo dar un:

# export PS1="(chroot) ${PS1}"

 

v.- CONFIGURACIONES

 Desde una terminal de la distro que nos sirve como ayuda para instalar, en mi caso fedora, copiamos el archivo resolv para poder conectarnos a inet

# cp -L /etc/resolv.conf /sda3/etc/

Volviendo a la otra terminal donde estamos con chroot:

recomiendo actualizar las librerias del nuevo sistema GNU

# ldconfig

luego configuramos el nuevo root

# passwd

y si todo sale bien, nos saldrá el tipico mensaje:

passwd: password updated successfully

creamos nuestro usuario y lo agregamos a algunos grupos:

# adduser

# usermod -a -G audio,lp,video,wheel,games,power,scanner asclepio

Recordar actualizar hosts y el HOSTNAME

# vim /etc/HOSTNAME 

# vim /etc/hosts

Y creamos el fstab

# vim /etc/fstab


Configuramos Idioma español en slackware

para el sistema:

# vim /etc/profile.d/lang.sh 

# vim /etc/profile.d/lang.csh

cambiando: 

export LANG=en_US.UTF-8 a export LANG=es_AR.UTF-8

 

Para que la consola inicial este en español:

# vim /etc/rc.d/rc.keymap

dejandolo asi:

#!/bin/sh
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.
if [ -x /usr/bin/loadkeys ]; then
 /usr/bin/loadkeys es.map
fi

no olvidar darle permisos 

# chmod +x /etc/rc.d/rc.keymap


Para que las X's estén en español, creamos

# vim /etc/X11/xorg.conf.d/90-keyboard-layout.conf

Section "InputClass"
        Identifier "keyboard-all"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "XkbLayout" "latam" ó "es"
        #Option "XkbVariant" ""
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

 

vi.- GRUB 

Ya solo queda actualizar el grub de fedora para que reconozca el nuevo sistema que acabamos de instalar

# grub2-mkconfig -o /etc/grub2.cfg

y listo, reiniciar y botear nuestro nuevo Slackware


vii.- PROBLEMA

Un problema que puede surgir, y que varias veces vi, al botear por primera vez podemos tener el mensaje:

not syncing: VFS: unable to mount root FS on unknown-block

Este kernel panic sucede porque es necesario generar el initrd para el nuevo sistema. La forma de resolver esto es volver al GNU/linux desde donde instalamos, logearnos con chroot y ejecutar:

# mkinitrd -c -k <version_del_kernel> -m ext4 -f ext4 -r /dev/sda3 (partición donde instalamos slack)

Para conocer la version de kernel:

ls /lib/modules/

recordar que uname -r no funciona cuando estamos dentro de chroot


Y esto es todo, dejo esto para no olvidarlo y por si a alguien le resulta útil. Exitos!


____

#### Referencias

→ https://www.linuxquestions.org/questions/slackware-installation-40/howto-installing-slackware-as-a-dual-boot-from-within-an-exisiting-linux-881520/
→ https://www.linuxquestions.org/questions/slackware-installation-40/install-slackware-to-a-folder-using-chroot-825598/
→ https://docs.slackware.com/howtos:window_managers:keyboard_layout