Archivo

Archivo para la categoría ‘OpenSuse’

Qemu con su error -22 (Invalid argument)

martes, 1 de septiembre de 2020 Sin comentarios

Hace unos meses moví todas las máquinas virtuales de Proxmox a Ubuntu 18.04 LTS y todo iba bien hasta que decidir actualizar a Ubuntu 20.04 LTS. Resulta que esta última versión incluye el kernel 5.4 que trae consigo una serie de modificaciones más restrictivas con respecto al acceso de zonas de memoria reservadas y que afectas a las agrupaciones IOMMU mal hechas por parte de algunas BIOS. El error que saltaba era similar al siguiente:

failed to setup container for group 28: memory listener initialization failed: Region mach-virt.ram: vfio_dma_map(0x563169753c80, 0x40000000, 0x100000000, 0x7fb2a3e00000) = -22 (Invalid argument)

Hice diversas modificaciones sobre el kernel para intentar evitar la restricción del mapeo de memoria sin ningún éxito. Probé a actualizar al kernel 5.8 de la rama de desarrollo de Ubuntu para acabar teniendo el mismo problema. La única solución era volver a Ubuntu 18.04 o directamente probar una distribución que trabajase con el kernel 5.3 que era el último que se sabía que funcionaba de forma permisiva en ese aspecto. Por tanto terminé con OpenSuse 15.2.

Todo ello me llevo a cuestionarme si el hardware (HP Gen8) que estaba intentando hacer funcionar merecía la pena tanto tiempo invertido o simplemente comprar otro equipo mejor preparado. Tras visitar numerosas webs me encontré con que la información relativa a las agrupaciones IOMMU no se ofrecen por parte de los fabricantes de placa base y que, futuras actualizaciones de la BIOS podían afectarlas. Lo que parece ser más orientativo es que las placas base más caras suelen ser mejores en ese aspecto y que para plataformas AMD hay que llevar cuidado con las actualizaciones de AGESA. Con lo que al final supone una lotería y voy a estirar el kernel 5.3 todo lo que pueda, a ver si en un futuro se publica algún método para seguir usando este hardware.

Autofs para unidades NFS

viernes, 17 de abril de 2020 Sin comentarios

Autofs nos permite montar unidades bajo demanda. En mi caso mi intención era evitar montar las unidades NFS en el arranque y dejarlo para cuando realmente necesitase acceder a ellas. Esto nos ahorra tiempo de carga y libera recursos cuando no estemos haciendo uso de ellos.

Su instalación es bastante simple en OpenSuse:

zypper install autofs

Editaremos un fichero «/etc/auto.master» que contendrá el punto de montaje de nuestras unidades NFS, el fichero con la información acerca de las unidades y el tiempo que dejará pasar después de su último uso para desmontarla:

+auto.master
/mnt/nfs /etc/auto.nfs –timeout=60

Crearemos el fichero «auto.nfs» que contendrá el nombre de la carpeta donde queremos montar la unidad NFS, el tipo de sistema de fichero incluyendo algunos parámetros de conexión y la ruta hasta la unidad de red:

equipo100 -fstype=nfs,soft,nolock 192.168.1.100:/mnt/Equipo100Share
equipo200 -fstype=nfs,soft,nolock 192.168.1.200:/mnt/Equipo200Share

Esto hará que tengamos dos directorios «/mnt/nas/equipo100» y «/mnt/nas/equipo200». Para que se monten tendremos que escribir la ruta completa en nuestro gestor de ficheros («dolphin» en mi caso) o simplemente hacer accesos directos a ellos.

Para terminar reiniciaremos el servicio para que cargue la configuración y, si no lo está por defecto, habilitaremos el servicio en el arranque del sistema:

systemctl restart autofs

systemctl enable autofs

Categories: GNU/Linux, OpenSuse Tags: , ,

Mejorando los tiempos de arranque en Gnu/Linux

viernes, 17 de abril de 2020 Sin comentarios

En Linux tenemos una serie de herramientas que nos permiten analizar qué servicios tardan más en arrancar que otros y observar como afecta a sus dependencias.

Con el siguiente comando obtenemos los tiempos generales en segundo que tarda cada parte del sistema en estar preparado:

systemd-analyze

A veces no te puedes fiar al 100% y se recomienda el uso de un cronómetro para comprobarlo, pero indudablemente nos da una valoración aproximada.

Con el siguiente comando obtendremos un listado de los procesos que intervienen en el arranque del sistema ordenados por tiempo:

systemd-analyze blame

Y el comando que más utilidad me proporciona personalmente es el que nos genera un gráfico con barras que nos hacen entender los tiempos de los procesos y sus dependencias:

systemd-analyze plot > boot_analysis.svg

El fichero «.svg» que se genera lo podemos abrir con Gimp o algún navegador web.

En mi caso, con OpenSuse Tumbleweed, teniendo dos unidades montadas a través de «autofs» hice lo siguiente:

  • «systemctl disable NetworkManager-wait-online.service» un servicio que simplemente retrasa al resto hasta que tenemos conexión de red. En mi caso, al no tener ningún servicio dependiente de la red pude deshabilitarlo y ahorrarme 7 segundos.
  • Cambié la administración de red de «Wicked» a «NetworkManager», con lo que la conexión de red queda relegada a la carga de escritorio del usuario.
  • Deshabilité el servicio «btrfsmaintenance-refresh.service» ya que no tenía ningún dispositivo de almacenamiento con BTRFS.
  • Desinstalé «Postfix» porque no le daba ningún uso, no envío correo electrónico ni espero recibir notificaciones por ese medio en la cuenta «root».

Con todo lo anterior realizado pasé de más de 40 segundos a 18. Puede parecer poco ahorro, pero se agradece.

Lector de DNI electrónico en Gnu/Linux

sábado, 4 de abril de 2020 Sin comentarios

Compré un lector de DNI electrónico de la marca Woxter, cuya denominación bajo el comando «lsusb» es «Alcor Micro Corp. AU9540 Smartcard Reader». Para hacerlo reconocible para el sistema encontré muy útil la entrada en el blog de Informática Dantesca sobre ello. Básicamente el problema principal para que funcionase radicaba en la instalación de ciertos paquetes en OpenSuse:

pcsc-lite pcsc-tools perl-pcsc pcsc-ccid pcsc-acsccid libpcsclite1 libusb-1_0-0

Con eso ya deberíamos de hacer funcionar el lector en el sistema (ejecutando «pcsc_scan» podremos comprobar que el lector no da información acerca de nuestro DNI-E) y sólo nos quedarían un par de pasos sobre el navegador web para que no dejase utilizarlo.

Habrá que instalar el paquete correspondiente a nuestra distribución desde el Cuerpo Nacional de Policia (en mi caso OpenSuse_Leap15.1_libpkcs11-dnie-1.5.3-1.x86_64.rpm ) y después, desde la sección de «Dispositivos de seguridad» de Firefox, cargaremos un nuevo controlador cuya ruta se encuentra en «/usr/lib64/libpkcs11-dnie.so».

Categories: GNU/Linux, OpenSuse Tags: , , ,

Ecualizador de sonido en Linux

sábado, 11 de enero de 2020 2 comentarios

Si tenemos la necesidad de aplicar ciertos filtros o ecualizar el sonido de ciertas aplicaciones o todas en general de nuestro sistema Linux, podemos optar por PulseEffects que está disponible en los repositorios de la mayoría de distribuciones. Entre sus requisitos para funcionar está el tener instalado lo siguiente:

  • GStreamer Plugins Good. Version 1.12.5 or higher
  • GStreamer Plugins Bad. Version 1.12.5 or higher
  • Linux Studio Plugins (lsp)
  • Calf Studio Plugins. Version 0.90.1 or higher
  • ZamAudio Plugins
  • MDA.LV2
  • libsamplerate
  • libsndfile
  • zita-convolver
  • libebur128

No obstante, en OpenSuse tuve que instalar adicionalmente los paquetes «lv2-lsp-plugins» y «vst-lsp-plugins», de lo contrario el ecualizador aparecía deshabilitado sin posibilidad de activarlo.

Categories: GNU/Linux, OpenSuse Tags:

Portátil Dell G7 7790 en Linux

lunes, 12 de agosto de 2019 Sin comentarios

El Dell G7 7790 que he podido configurar incorpora la siguiente configuración hardware:

  • 17″ IPS 144Hz Full HD.
  • i7 8750H.
  • 16 GB de RAM DDR4 ampliado a 32GB.
  • Nvidia GTX 2070 Max-Q.
  • SSD M.2 NVMe de 512MB cambiado por un SSD M.2 NVMe de 2TB de Intel 660P.
  • Batería de 90Wh.

Cambio de RAID a AHCI

Para poder realizar la instalación de alguna distribución Gnu/Linux hay que cambiar, desde la BIOS, las opciones de dispositivos de almacenamiento para que la controladora se comporte como AHCI en vez de como RAID, de lo contrario nuestra distribución no será capaz de detectar los discos duros. Pero si realizamos el cambio sin más y queríamos conservar la partición con Windows 10, este no arrancará. Por lo que tendremos que seguir estos pasos antes:

  1. Abrir un cmd como derechos de administrador.
  2. Ejecutar el siguiente comando: «bcdedit /set {current} safeboot minimal» o de forma alternativa: «bcdedit /set safeboot minimal».
  3. Reiniciar el portátil y entrar en la BIOS.
  4. Cambiar el comportamiento de la controladora de dispositivos de almacenamiento de RAID a AHCI.
  5. Windows arrancará en modo seguro reconociendo los cambios sobre el hardware.
  6. Abrir un cmd como derechos de administrador.
  7. Ejecutar el siguiente comando para deshacer lo anteriormente hecho: «bcdedit /deletevalue {current} safeboot» o de forma alternativa: «bcdedit /deletevalue safeboot «.
  8. Reiniciar el equipo nuevamente y Windows 10 arrancará como normalmente lo hace.

Instalación de OpenSuse

Para lanzar la instalación de OpenSuse Leap es posible que tengamos que incorporar el parámetro «nomodeset» al kernel, de lo contrario la pantalla simplemente aparecerá en negro.

La instalación la podremos realizar sin ninguna pega. Cabe recordar que habrá que definir la partición EFI sobre la ya existente y no formatearla para que puedan convivir tanto Windows como OpenSuse.

Teclas Fn para el control del brillo

Una vez arranque OpenSuse, probablemente no funcionarán las teclas de brillo. Para solucionarlo sólo tendremos que editar el fichero «/usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf» y añadir lo siguiente:

Section «Device»

Identifier «Device0»

Driver «nvidia»

VendorName «NVIDIA Corporation»

BoardName «GTX 2070»

Option «RegistryDwords» «EnableBrightnessControl=1»

EndSection

Podremos reiniciar y comprobar que ya funcionan las teclas de control de brillo. Cierto es que si nada más iniciar la sesión, hacemos uso de dichas teclas puede que no funcionen y nos toque cerrar sesión y volverla abrir, pero no es algo habitual.

Hibernación al cerrar la tapa

Para hacer funcionar la hibernación cuando cerramos la tapa, tendremos que colocar los siguientes parámetros para el kernel:

splash=silent nomodeset resume=/dev/disk/by-id/nvme-INTEL_SSDREKT8_BTN-part7 quiet nouveau.blacklist=1 acpi_rev_override=1 acpi_osi=Linux nouveau.modeset=0 pcie_aspm=force drm.vblankoffdelay=1 scsi_mod.use_blk_mq=1 nouveau.runpm=0 mem_sleep_default=deep

En OpenSuse lo podemos hacer desde Yast -> Boot Loader -> Parámetros del núcleo en la casilla que pone «Parámetro opcional de la línea de comandos del kernel». Hay que tener en cuenta que el dato «/dev/disk/by-id/nvme-INTEL_SSDREKT8_BTN-part7» es diferente en cada equipo y define la partición donde se aloja la swap.

Undervolt y gestión de rendimiento

Sabido es para este tipo de procesadores que un pequeño «undervolt» mejora con creces la temperatura del mismo y evita que se llegue al throttling. Para conseguirlo hago referencia a una entrada que publiqué no hace mucho.

Y para poder gestionar la actuación de los ventiladores y la frecuencia de la CPU publiqué otra entrada muy interesante para este tipo de portátiles.

Control de Intel P-state y CPUFreq en KDE

jueves, 2 de mayo de 2019 Sin comentarios

A la hora de gestionar el rendimiento y las capacidades de refrigeración en un portátil, a veces un buen widget para gestionarlo de forma rápida viene bien. Este es el caso del proyecto de Plasma-pstate.

Su instalación es sencilla:

git clone https://github.com/jsalatas/plasma-pstate
cd plasma-pstate
sudo ./install.sh

De lo único que tenemos que asegurarnos es de estar en el sudoers y, en caso de OpenSuse, utilizar la herramienta propia de configuración de sudo por medio de Yast para agregar tu propio usuario para ejecutar como root sin necesidad de contraseña el siguiente script:

/usr/share/plasma/plasmoids/gr.ictpro.jsalatas.plasma.pstate/contents/code/set_prefs.sh

De lo contrario acabaremos con un panel que se despliega de color gris sin nada en su interior.

Discos SSD en Linux

viernes, 4 de octubre de 2013 2 comentarios

Cada vez los discos SSD son más populares debido a su velocidad de lectura/escritura y su tiempo de acceso frente a los discos magnéticos convencionales. Pero como con todo, estos discos tienen un debilidad que preocupa a sus dueños y es la vida útil.

Sin entrar en detalles diré que se hace uso de algoritmos especiales para intentar alargar la vida útil del disco SSD lo máximo posible tratando de no sobrescribir siempre los mismos sectores y evitando realizar usos que conlleven muchas escrituras sin sacarles provecho (como logs o temporales del navegador web.

Existe un hilo en los foros de OpenSuse en los que se dan consejos y pautas muy útiles para este propósito, como cargar el temporal en RAM, alojar ciertos directorios en un disco duro magnético, etc.

Categories: Discos duros, OpenSuse Tags: ,

Cierre de Yast automático tras instalar aplicaciones

sábado, 22 de enero de 2011 Sin comentarios

Antes de la versión 11.0 de OpenSUSE, cuando realizabas la instalación/desinstalación/actualización de los diversos paquetes del sistema a través de Yast este se mantenía abierto para seguir trabajando con él. Sin embargo, en las últimas versiones, se cerraba automáticamente, impidiéndote seguir usándolo sin tener que abrirlo otra vez.

Para cambiar esta forma de trabajar basta modificar el fichero «/etc/sysconfig/yast2«, concretamente la opción «PKGMGR_ACTION_AT_EXIT«.

Los valores que permiten son los siguientes:

  • close: se cierra tras aplicar los cambios sobre los paquetes.
  • restart: después de realizar los cambios se reinicia y vuelve al gestor de paquetes.
  • summary: muestra el diálogo de resumen y permite al usuario decidir si terminar o reiniciar Yast.

Fuente Original: Cuaderno de Campo
Via: KDEBlog

Categories: OpenSuse Tags: , ,