Páginas

sábado, 10 de diciembre de 2016

Slackware sbopkg

 sbopkg es una herramienta util, proporciona una interfaz simple para instalar paquetes de terceros SBo. Esta es la pagina de descarga del programa https://sbopkg.org/downloads.php, descargamos la ultima version y lo instalamos:

# installpkg sbo....

Por defecto necesita ser ejecutado por root. La primera vez que empiece a usar sbopkg, se le pedira que elija crear los directorios adecuados

Para sincronizar sbopkg con el SBo remoto, se ejecuta

# sbopkg -r

La salida del siguiente comando proporciona el ID PCI, en este caso "14e4:4365" para la tarjeta wireless de mi portatil

Buscar ID tarjeta wireless

# lspci -nn|grep Broadcom --color
02:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)

Antes de saber lo que va a instalar, debe buscar los paquetes disponibles:

Busqueda general de paquetes sin diferenciar entre mayusculas y minusculas

# sbopkg -g nombrepaquete
# sbopkg -g broadcom-sta

Contruir e instalar el paquete broadcom-sta

# sbopkg -i broadcom-sta

Inspeccionar un paquete

Busqueda especifica de paquete diferenciando mayusculas y minusculas, si los encuentra, muestra los archivos README, Slackbuild, .info y slack-desc

# sbopkg -s broadcom-sta

 Vamos a buscar otro paquete para ver un poco como funciona sbopkg

# sbopkg -g vlc
# sbopkg -g vlc
Searching for vlc
Found the following matches for vlc:
multimedia/vlc

Instalar un programa y sus dependencias:

Procesar las dependencias del paquete vlc
# sqg -p vlc
Processing vlc.
Done.

Vamos a Listar el archivo que contiene las dependencias antes de proceder a su instalacion. Vemos que vlc depende de unos 55 paquetes que seran instalados antes de instalar, por ultimo, vlc

# cat /var/lib/sbopkg/queues/vlc.sqf

...
libreplaygain
libcuefile
musepack-tools
libmodplug
libavc1394
faad2
zvbi
libsidplay2
jack-audio-connection-kit
projectM
libdaemon
avahi
...

sbopkg no resuelve las dependencias. Pero, le proporciona los paquetes SBo requeridos de cada paquete SBo.

No instalo el paquete vlc porque ya lo habia instalado con slackpkg.

Listar paquetes SBo instalados

# sbopkg -p
SoulseekQt-20160117-x86_64-1_SBo
broadcom-sta-6.30.223.271_4.4.29-x86_64-1_SBo
ipcalc-0.41-noarch-2_SBo

Lista de paquetes SBo instalados y las actualizaciones potenciales

# sbopkg -c


Actualizar sbopkg

# sbopkg -u

Desinstalar un paquete

# slackpkg remove nombrepaquete

Mostrar la version actual de sbopkg

# sbopkg -v     
0.38.1

Establece el repositorio y la rama a usar

# sbopkg -Version


Unknown repository name -- "Version"
Valid options are:
SBo/14.2        (SBo repository for Slackware 14.2)
SBo/14.1        (SBo repository for Slackware 14.1)
SBo/14.0        (SBo repository for Slackware 14.0)
SBo/13.37       (SBo repository for Slackware 13.37)
SBo/13.1        (SBo repository for Slackware 13.1)
SBo/13.0        (SBo repository for Slackware 13.0)
SBo/12.2        (SBo repository for Slackware 12.2)
SBo/12.1        (SBo repository for Slackware 12.1)
SBo/12.0        (SBo repository for Slackware 12.0)
SBo/11.0        (SBo repository for Slackware 11.0)
local/local     (default local repository)
SBo-git/current (UNSUPPORTED SBo git repository for -current)
SBo/master      (SBo master git branch)


Unix es genial!.

jueves, 24 de noviembre de 2016

Slackware 14.2 Live DVD

Instalar Slackware 14.2 desde el live DVD creado y mantenido por Eric Hameleers.


Desaparece udev (lo sustituye eudev de Gentoo), Consolekit es reemplazado por Consolekit2 (mantenido por el equipo de XFCE). Systemd sigue fuera de Slackware.

Slackware Live Edition es una imagen ISO que nos acerca a lo que Slackware es actualmente. setup2hd permite la instalación predeterminada, sin personalizaciones, pero con toda la potencia, según palabras del propio Eric en su blog.

Al finalizar la carga del Slackware Live DVD entramos con la contraseña "live" como usuario normal. Abrimos konsole y tecleamos su y el password para convertirnos en root "live". Luego, tecleamos:

# setup2hd

Comandos para identificar componentes del hardware del ordenador:
# lspci
# lsusb

Si necesita cargar el módulo de la tarjeta de red , utilice el comando modprobe, por ejemplo:
# modprobe r8169
# /etc/rc.d/rc.inet1 restart

Empieza la instalacion. Ya hemos visto como se particiona el disco duro en el anterior tutorial Instalar Slackware 14.2 KDE.

Después de concluir la instalación y antes de reiniciar abrimos otra ventana del terminal y con el comando mount averiguamos donde esta montada la partición raiz, algo como /setup2hd
Cambiar el nivel de initdefault a 3

# nano /setup2hd/etc/inittab
# default runlevel. (Do not set to 0 or 6)
id:3:initdefault:

Ya podemos reiniciar el sistema. Nos logueamos como root y creamos con adduser un usuario no privilegiado que pertenezca a los grupos adicionales:
audio cdrom floppy plugdev video power netdev lp scanner

El script de instalación del Slackware live dvd instala el kernel huge el cual permite iniciar el sistema correctamente. Antes de crear un initrd es necesario que el kernel, kernel modules y el paquete mkinitrd están instalados. Puede utilizar slackpkg para buscar, instalar o upgrade los paquetes (slackpkg viene instalado por defecto).

# uname -a
Linux slack 4.4.14 #2 SMP Mon Aug 22 14:37:39 CDT 2016 x86_64 Intel(R) Celeron(R) CPU  N3050  @ 1.60GHz GenuineIntel GNU/Linux

  installpkg kernel-generic-4.4.29-x86_64-8.tgz
  installpkg kernel-modules-4.4.29-x86_64-8.tgz
  installpkg mkinitrd-1.4.8-x86_64-8.tgz  
  installpkg kernel-source-4.4.29-noarch-1_slack14.2
  
# slackpkg search kernel-generic
# slackpkg search kernel-modules      
# slackpkg search kernel-source

# slackpkg upgrade kernel-generic-4.4.29-x86_64-8.tgz
# slackpkg upgrade kernel-modules-4.4.29-x86_64-8.tgz
# slackpkg upgrade kernel-source-4.4.29-noarch-1_slack14.2
# slackpkg upgrade kernel-generic-4.4.29-x86_64-8.tgz


Crear e instalar los modulos

# cd /usr/src/linux
# make modules # Tarda bastante, sea paciente
# make modules_install


mkinitrd se utiliza para construir un ramdisk inicial, un conjunto muy pequeno de archivos que se cargan en RAM.

Ejecutar el script que nos creara el archivo /boot/initrd.gz
# /usr/share/mkinitrd/mkinitrd_command_generator.sh

bash-4.3# /usr/share/mkinitrd/mkinitrd_command_generator.sh
Modules for kernel 4.4.19 aren't installed.

En mi sistema el script generador sugiere el siguiente comando mkinitrd para construir un initrd (ramdisk inicial):

# mkinitrd -c -k 4.4.29 -f ext4 -r /dev/sda2 -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-
hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-
lenovo:hid-microsoft:hid_multitouch:jbd2:mbcache:ext4 -u -o /boot/initrd.gz


Si lo considera excesivo para su sistema, alternativamente puede utilizar algo como:
# mkinitrd -c -k 4.4.29 -f ext4 -r /dev/sda2 -m jbd2:mbcache:ext4 -u -o /boot/initrd.gz
# ls -F /boot

EFI/                       efi/               onlyblue.dat
README.initrd@             elilo-ia32.efi*    slack.bmp
System.map@                elilo-x86_64.efi*  tuxlogo.bmp
System.map-generic-4.4.29  grub/              tuxlogo.dat
System.map-huge-4.4.19     initrd-tree/       vmlinuz@
coffee.dat                 initrd.gz          vmlinuz-generic@
config@                    inside.bmp         vmlinuz-generic-4.4.29
config-generic-4.4.29      inside.dat         vmlinuz-huge@
config-huge-4.4.19         onlyblue.bmp       vmlinuz-huge-4.4.19


# ls /boot/initrd-tree/

bin          keymap               lukskey    rootdev  usr
dev          lib                  mnt        rootfs   wait-for-root
etc          lib64                proc       run
init         load_kernel_modules  resumedev  sbin
initrd-name  luksdev              root       sys

Lo siguiente es copiar la imagen initrd y el kernel generic a la partición EFI. En mi sistema la ruta es
/boot/efi/EFI/Slackware

# cp /boot/initrd.gz /boot/efi/EFI/Slackware/

# ls /boot/initrd.gz /boot/efi/EFI/Slackware/
/boot/initrd.gz

# cp /boot/vmlinuz-generic-4.4.29 /boot/efi/EFI/Slackware/

# ls /boot/efi/EFI/Slackware/
elilo.conf  elilo.efi  initrd.gz  vmlinuz  vmlinuz-generic-4.4.29\


Configurar ELILO

Por último configurar ELILO con la opción de arrancar con el generic o el huge kernel, y el generic como kernel por defecto.


# cat /boot/efi/EFI/Slackware/elilo.conf
default=generic
prompt
chooser=simple
delay=100
timeout=100

# huge kernel
image=vmlinuz
        root=/dev/sda2
        read-only
        append="root=/dev/sda2 vga=normal ro"
        label=huge
        description="Slackware 64 huge 4.4.29"

# generic kernel
image=vmlinuz-generic-4.4.29
        root=/dev/sda2
        append="root=/dev/sda2 vga=normal ro"
        initrd=initrd.gz
        label=generic
        description="Slackware 64 generic-4.4.29"


Tarjeta de red 

# lspci | grep --color Ethernet && lspci | grep --color Network
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101/2/6E PCI Express Fast/Gigab
02:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

Vamos a utilizar  la tarjeta de red Wireless TP-LINK WN725N v2 Nano USB Adapter 150Mbps b/g/n. Más adelante haremos lo mismo con la tarjeta Broadcom BCM43142 b/g/n que trae el portátil 

# lsusb|grep --color Realtek
Bus 001 Device 003: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter utiliza el módulo r8188eu

# lsmod | grep r8188
r8188eu               438278  0
cfg80211              524104  1 r8188eu


La tarjeta de red Ethernet utiliza el driver r8169

# lsmod | grep r8169
r8169                  72999  0
mii                     5143  1 r8169



Configurar la tarjeta wireless (Broadcom BCM43142) que viene con el portátil solo tiene que instalar los controladores con el instalador de paquetes sbopkg. Esta tarjeta es un combo wifi Bluetooth


Un simple comando instala los controladores de la Broadcom 43142
# sbopkg -i broadcom-sta

También tendremos un archivo que impide la carga de módulos que pueden entrar en conflicto con el de nuestra tarjeta

# vim /etc/modprobe.d/b43_blacklist.conf


Reiniciar el sistema y ya tiene la interfaz wifi eth1
# iwconfig


lo        no wireless extensions.

wlan0     unassociated  Nickname:"wifi"
          Mode:Managed  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

eth1      IEEE 802.11abg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=200 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          
eth0      no wireless extensions.


No olvide cambiar el nombre de la interfaz de red a eth1 en el archivo rc.firewall y reiniciarlo
# nano -w /etc/rc.d/rc.firewall
# /etc/rc.d/rc.firewall restart


 Gestionado redes con Networkmanager


Habilitar permisos de ejecución a rc.networkmanager
# chmod +x /etc/rc.d/rc.networkmanager
# /etc/rc.d/rc.networkmanager start




Bluetooth activado



Si activa el firewall y alterna entre conectar a una red cableada y una red wifi tiene que cambiar el nombre de la tarjeta de red en el archivo /etc/rc.d/rc.firewall que corresponda. Normalmente eth0 para la cableada y ath1 o wlan0 para la inalámbrica, de lo contrario podrá navegar.


De manera que con el kernel 4.4.29 la Broadcom 43142 va de maravilla, voy a bloquear la actualizacion del kernel-* en el archivo blacklist
# nano -w /etc/slackpkg/blacklist

Hacer inmutable el archivo blacklist para asegurarse que no cambiará 
# chattr +i /etc/slackpkg/blacklist


http://alien.slackbook.org/blog/slackware-live-edition-original-article/
http://www.slackwiki.com/
https://pkgs.org/slackware-14.2/slackonly-x86_64/rtl8188eu-5e6362f3-x86_64-1_slonly.txz.html

Unix es genial!.