Ubuntu reemplaza la versión especificada del kernel

fondo

Se informa un error cuando el controlador de dispositivo de bloque de Linux se compila con la versión de kernel 5.15. Así que hay dos formas:

  1. Modifique el código del controlador para adaptarse a los cambios de versión
  2. Cambiar a una versión más baja del kernel

El primer método es demasiado bajo para elegir,
así que tuve que cambiar a una versión más baja del kernel, pero encontré muchos problemas cuando pensé en ello.

Reemplazar el kernel especificado

Operación concreta: Operación concreta

Tome la versión 5.4.0 como ejemplo

	wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
	chmod +x ubuntu-mainline-kernel.sh
	sudo mv ubuntu-mainline-kernel.sh /usr/local/bin/

inserte la descripción de la imagen aquí

busca y encuentra tu versión deseada

	ubuntu-mainline-kernel.sh -r | grep 5.4

inserte la descripción de la imagen aquí

instalar esa versión del kernel

	ubuntu-mainline-kernel.sh -i v5.4.0

inserte la descripción de la imagen aquí

actualizar grub

	update-grub

reiniciar

	reboot now

inserte la descripción de la imagen aquí

verificar

	uname -r

inserte la descripción de la imagen aquí

Falló, la versión de lanzamiento 22.04 instaló la versión 5.4 del kernel, parece que no funciona.

Cuando busco el kernel con el siguiente comando, solo puedo ver las versiones 5.15 y 5.17. Después de descargar a la fuerza la versión 5.4.0 del kernel, pude elegir reemplazar el kernel después de reiniciar, pero no pude ingresar al sistema. Así que tuve que rendirme.

`apt-cache search linux-image-`

Después de reflexionar sobre ello, todavía no tengo un conocimiento profundo de la versión del kernel de Linux y la versión de lanzamiento. La versión 5.4 es el kernel que se usa en Ubuntu 20.04 y la versión 5.15 se usa en Ubuntu 22.04. La modificación del kernel en diferentes versiones de lanzamiento es definitivamente diferente, por lo que cuando instalé a la fuerza la versión 5.4 en la versión 22.04 de Ubuntu, el sistema no pudo iniciarse en absoluto.

Prueba Ubuntu 20.04

  • Descargue el archivo iso y configure la contraseña de root

  • Instale funciones mejoradas para compartir archivos y mesas de trabajo.
    Instale directamente funciones mejoradas y luego reinicie la máquina virtual.

  • Configure
    el interruptor de fuente espejo de Tsinghua a la raíz, descargue vim

    su -

    apt-get vim
    

    fuente de respaldo

    	cp /etc/apt/sources.list /etc/apt/sources.list.bak
    

    sustitución manual o sustitución de comando

    vim /etc/apt/sources.list
    

    Vaya al sitio web de origen espejo para encontrar la lista de reemplazo

    renovar

    apt-get update
    

intente cambiar el kernel de nuevo

Esta vez en la versión 20.04 de Ubuntu, puede encontrar muchos núcleos de la versión 5.4.

inserte la descripción de la imagen aquí
Esta vez pruebo la versión 5.4.75

ubuntu-mainline-kernel.sh -i v5.4.75

Modifique el archivo grub para seleccionar el kernel al arrancar

vim /etc/default/grub

Cambiar a:

	GRUB_HIDDEN_TIMEOUT=10
	#GRUB_STYLE_HIDDEN

actualizar-grub

update-grub

Reiniciar para verificar

Seleccione la versión 5.4.75 del kernel recién instalada

inserte la descripción de la imagen aquí
Compruebe la versión actual, se ha reemplazado con éxito.

uname -r

inserte la descripción de la imagen aquí

Instale las herramientas de desarrollo, vuelva a compilar el controlador de bloque

Después de reemplazar el kernel, la función de mejora de la máquina virtual aún no es válida. Todavía no funciona después de quitar el disco VboxGuest y volver a instalarlo.
olvídalo

sudo apt-get install build-essential #安装开发工具包,包含gcc等

instalar encabezados

uname -rComprobar la versión actual del núcleo

apt search linux-headerEncuentre todas las versiones de encabezado de la biblioteca de software

sudo apt-get install linux-headers-XXX-X-amd6encabezado de instalación

Instale una variedad de entornos de kernel

  sudo apt-get install kernel-package 
   #测试中会出现缺这缺那的情况,如以下包会丢失,如编译源码出现错误,可尝试执行
   sudo apt-get install flex bison 
   #和/或
   sudo apt-get install libssl-dev
   #和/或
   sudo apt-get install libelf-dev #libelf-devel or elfutils-libelf-devel
   #如仍未解决,可自行搜索或尝试解决方案
   
   #编译生成menuconfig配置内核界面所需文件(非必须)
   sudo apt-get install libncurses5-dev
   
   #开发版本管理及自动化包
   sudo apt-get install automake#此处可能会有版本号
   sudo apt-get install autoconf cvs subversion

Comience a compilar el controlador sbull

Ingrese a la carpeta sbull, haga

inserte la descripción de la imagen aquí
La compilación fue exitosa de un solo golpe, y parece que de hecho es un problema con la versión del kernel.

Instale el módulo: insmod sbull.ko

dmesg ver registro

inserte la descripción de la imagen aquí

Ver información del módulo: lsmod

Consulte sbull
inserte la descripción de la imagen aquí
para ver la información del dispositivo de bloque: fdisk -l /dev/sbulla

inserte la descripción de la imagen aquí
Dispositivo de bloque de formato: mkfs.ext4 /dev/sbulla

Dice Sistema de archivos demasiado pequeño para un diario, no sé cómo
inserte la descripción de la imagen aquí
montar y usar el dispositivo de bloque. Después de montar y usar el dispositivo de bloque, puede
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
usar este dispositivo para ver los resultados de carga como otros discos duros
inserte la descripción de la imagen aquí
: montar
inserte la descripción de la imagen aquí
para ver el uso

Puedes ver que el conteo ha cambiado a 1
inserte la descripción de la imagen aquí

Introduzca el dispositivo para crear un archivo

inserte la descripción de la imagen aquí

Volver a montar después de desmontar

inserte la descripción de la imagen aquí

Se encontró que los datos desaparecieron después de la desinstalación, pero después de volver a montar, los datos se restauraron.

desmontar disco

inserte la descripción de la imagen aquí
Desmontar /mnt/sbull Después de esperar más de 30 segundos, al intentar montar el dispositivo /dev/sbulla nuevamente, el sistema solicita que se especifique el tipo de partición en el dispositivo de bloque. Indica que el dispositivo ha sido formateado.

descargar módulo kernel
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_51794847/article/details/128432277
Recomendado
Clasificación