Archivo

Archivo para la categoría ‘OpenSuse’

No se pudo encontrar montaje de controlador de memoria cgroups

martes, 15 de agosto de 2023 Sin comentarios

Tras actualizar el software de OpenSuse Tumbleweed me he encontrado con el siguiente error al intentar iniciar los contenedores LXC:

libvirtError: error interno: No se pudo encontrar montaje de controlador de memoria cgroups

Supongo que debe estar relacionado con la actualización de software LXC más que con el kernel, porque volver a la versión anterior no lo resolvía. Sin embargo, lo que sí lo resolvía era añadir los siguientes parámetros en el inicio del kernel:

cgroup_enable=memory systemd.unified_cgroup_hierarchy=0

Y se puede comprobar cómo cambia el resultado al ejecutar este comando antes y después:

cat /proc/cgroups | column -t

mount | grep cgroup

Supuestamente, el tenerlo activado nos permite controlar y limitar el acceso a los recursos de la máquina host por parte de los guest, con lo que no entiendo si está hecho a posta porque han habido cambios que ya no necesitan estos parámetros y lo implementan de otra forma o es un simple fallo en la última versión.

ACTUALIZACIÓN

Tres posibles soluciones a este problema en openSUSE Tumbleweed:

  • Ejecutar lo siguiente:
    • sudo systemctl stop virtlxcd
    • sudo virtlxcd -f /etc/libvirt/virtlxcd.conf -d
  • Cambiar el fichero «/etc/systemd/system.conf.d/80-defaults.conf» para que tenga lo siguiente:
    • [Manager]
      DefaultMemoryAccounting=yes
  • Realizar la isntalación de cockpit con podman:

zypper install patterns-microos-cockpit cockpit cockpit-bridge cockpit-kdump cockpit-machines cockpit-networkmanager cockpit-packagekit cockpit-pcp cockpit-podman cockpit-storaged cockpit-system cockpit-ws

systemctl enable –now cockpit.socket
systemctl restart cockpit.socket

Acceder a https://ip:9090 y clicar en «Limited access» para obtener permisos de administración. En la sección de «Podman containers» no saldrá un mensaje para que habilitemos los servicios de podamn, el cual aceptaremos y ya está.

Categories: GNU/Linux, LXC, OpenSuse Tags:

Arranque lento en Opensuse

jueves, 19 de enero de 2023 Sin comentarios

Estaba observando que el arranque en Opensuse estaba tardando más de lo usual y utilizando los comandos:

systemd-analyze blame

systemd-analyze plot > /tmp/plot.svg

Detecté que el culpable residia en «postfix.service» principalmente. Se resolvía cambiando el fichero de configuración «/etc/postfix/main.cf» y cambiando el siguiente el valor de configuración:

inet_protocols = ipv4

Después de esto, el servicio «NetworkManager-wait-online» era el que estaba entorpeciendo el arranque. Como no tenía ninguna entrada en fstab que dependiese de la interfaz de red, apliqué los siguientes comandos:

systemctl disable NetworkManager-wait-online.service

systemctl mask NetworkManager-wait-online.service

Finalmente el sistema ahora es capaz de arrancar en poco más de 2 segundos.

Categories: OpenSuse Tags: , ,

Actualizando desde Opensuse Leap a Tumbleweed

sábado, 22 de enero de 2022 Sin comentarios

OpenSuse Tumbleweed es un distribución Linux de filosofía rolling-release mientras que le versión Leap es del tipo clásico. Si queremos pasar de una a otra deberemos realizar un cambio de repositorios y después actualizar desde ellos.

Primeramente realizamos una copia de seguridad de los repositorios que estamos utilizando actualmente:

mkdir /etc/zypp/repos.d/old
mv /etc/zypp/repos.d/*.repo /etc/zypp/repos.d/old

Añadimos los nuevos:

zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/oss repo-oss

zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/non-oss repo-non-oss

zypper ar -f -c http://download.opensuse.org/update/tumbleweed/ repo-update

zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/debug repo-debug

zypper ar -f -d -c http://download.opensuse.org/tumbleweed/repo/src-oss repo-src-oss

zypper ar -f -d -c http://download.opensuse.org/tumbleweed/repo/src-non-oss repo-src-non-oss

Comprobaremos que todo está correcto con el comando «zypper lr -u» y luego actualizaremos con el comando «zypper dup».

Si todo ha ido bien, sólo tendremos que reiniciar el equipo para aplicar los cambios.

Categories: OpenSuse Tags:

Sin sonido por HDMI con tarjeta gráfica Nvidia en OpenSuse

miércoles, 23 de diciembre de 2020 1 comentario

Quizás aplique a distintas distribuciones de Linux pero en mi caso concreto me ha ocurrido con OpenSuse. El problema consiste en que no aparece por ningún lado el dispositivo de sonido asociado a la tarjeta gráfica, sólo aparece la integrada de la placa base o la integrada en el procesado si es del estilo APU.

Por tanto, si hacemos un «lspci» nunca nos va a parece la segunda línea:

07:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3080] (rev a1)
07:00.1 Audio device: NVIDIA Corporation Device 1aef (rev a1)

Esto es debido a que, por algún motivo que desconozco, se aplican unas reglas de configuración al detectar la tarjeta gráfica que eliminan el dispositivo y no nos permite utilizarlo. Para cambiar este comportamiento sólo tenemos que editar el fichero «/usr/lib/udev/rules.d/90-nvidia-udev-pm-G05.rules» y comentar la línea que ponga lo siguiente:

ACTION==»add», SUBSYSTEM==»pci», ATTR{vendor}==»0x10de», ATTR{class}==»0x040300″, ATTR{remove}=»1″

Tras esto y un reinicio de la máquina tendremos de nuevo la capacidad de sacar sonido a través del HDMI de nuestra gráfica Nvidia. También recordar que el uso de «pavucontrol» nos permitirá pasarle a un posible AVR el sonido en DTS.

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 1 comentario

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

Reiniciamos el servicio:

service pcscd restart

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.