Linux Kernel 4.7 para todos

Tenemos con nosotros la nueva versión del Kernel Linux 4.7. Se esperan mayores cambios para la posterior versión 4.8 aunque la nueva que acaba de salir no se queda para nada corta. Por su parte Linus Torvalds daba la noticia correspondiente en las listas de correo del Kernel:

Ya sabéis que como suele ser habitual en Kernel Newbies tenéis todas las novedades detalladas así como enlaces a los commits correspondientes, pero podemos mencionar unas cuantas interesantes aquí a modo de resumen:

  • Ampliado y mejorado el soporte para dispositivos ARM: LG1312, Aspeed (AST2400 y AST2500 SOCs), USB 3.0 de NVIDIA Tegra
  • Buenas noticias para los drivers libres en el apartado gráfico. A destacar el soporte del driver open source amdgpu para las recientes gráficas Radeon RX 480. En lo que respecta a gráficas NVIDIA, el driver nouveau ahora incluye soporte para gráficas con chipset GM108 y se han añadido mejoras en el soporte a sensores de energía.
  • Ahora podemos crear controladores USB virtuales sobre USB/IP, que permitirá compartir y acceder a dispositivos físicos USB desde máquinas remotas en redes TCP/IP. El acceso al dispositivo USB es emulado de tal manera que la máquina remota lo reconoce como un dispositivo conectado a nivel local.
  • Mejoras en el soporte de periféricos y dispositivos: controlador de Microsoft Xbox One Elite, teclado Asus X205TA y Notebook VivoBook E200HA.
  • Optimización de velocidad y uso de recursos en el acceso a pathnames de forma recurrente en directorios con la feature Parallel Directory Lookups. Tal y como su nombre indica, esto permitirá acceder a la información de pathnames almacenada en la caché de directorio de forma paralela, mejorando especialmente el rendimiento de las aplicaciones que hagan un uso intensivo de ello.
  • Mejoras en el ajuste de frecuencias de la CPU en función de la carga y necesidades del sistema gracias al nuevo regulador schedutil. En resumen, se pretende recopilar diversa información del sistema relacionada con la carga, tipo de tareas ejecutándose, etc… y que schedutil sea capaz de ajustar de forma más precisa la frecuencia de la CPU, optimizando entre otros el uso de energía. Queda pendiente no obstante seguir desarrollando esta nueva capacidad -muy prometedora- en releases posteriores del Kernel.
  • Mejoras para hacernos la vida más sencilla en el debug del sistema y aplicaciones: añadida capacidad de ftrace para generar histogramas de eventos (pudiendo agrupar y visualizar el nº de veces que se produce un determinado evento, como el acceso a un determinado fichero por parte de una aplicación); añadido el soporte para utilizar tracepoints en programas BPF y optimización de perf trace para analizar el espacio de usuario cuando se realizan llamadas a sistema (syscall)
  • Nuevo módulo de seguridad del Kernel llamado LoadPin. Se pretende verificar la integridad de todos los ficheros cargados por el Kernel (por ejemplo módulos y firmware) de manera que únicamente puedan proveer de un mismo sistema de ficheros validado previamente. Esto solucionaría por ejemplo los problemas de seguridad ante la posibilidad de carga de un módulo -malicioso- en el kernel en tiempo de ejecución desde un sistema de ficheros no verificado previamente.

Como os decía, visitad Kernel Newbies para conocer los detalles que no son pocos.

Para los más impacientes, hace tiempo publiqué un artículo sobre cómo compilar un kernel Linux de forma genérica y otro sobre cómo hacerlo al “estilo Debian”, así que ya os podéis poner manos a la obra. Eso sí, haced siempre backup por la omnipresente Ley de Murphy.