¿Esta el kernel?

hola a tod@s ,como siempre gracias a tod@s por sus respuestas e interés desinteresado.
como decía jack el destripador: vamos por partes.
por eso el titulo de este hilo: ¿esta el kernel?

Karlggest me ha calado a la primera,(calado=“visto,reconocido,se ha dado cuenta”) me respondió:

Karlggest Global Moderador

Hola @elbitmalo!

Va un repaso para principiantes:

En un Sistema Operativo tienes el núcleo (kernel, Linux en nuestro caso) que incluye los drivers, y un montón de herramientas para usar ese núcleo (buena parte de las herramientas de GNU, pero no solo). Entre estas herramientas tienes el sistema gráfico, que no forma parte del núcleo.

confuso y principiante ojo

Pero vamos por partes:

Con: “rpm -qa | sort | less | grep kernel-default”

podemos ver el kernel default de nuestro "núcleo o sistema o de nuestro núcleo del sistema ? ".

y com: “rpm -qa | sort | less | grep kernel”

podemos ver todo el kernel instalado

con opensuse podemos hacerlo con zypper y desarrollada por opensuse, mi sabor favorito.

“zypper --no-remote search -s kernel”

lo que hace es mostrarte los repositorios instalado, ignorando la actualización ,creo y busca el kernel instalado.

y aquí empieza las partes de jack las preguntas:

Kernel-default | x86_64 | (Paquetes del sistema)
kernel-default-extra | x86_64 | (Paquetes del sistema)
kernel-default-optional | x86_64 | (Paquetes del sistema)
kernel-firmware-amdgpu | noarch | (Paquetes del sistema)
kernel-firmware-ath10k | noarch | (Paquetes del sistema)
kernel-firmware-ath11k | noarch | (Paquetes del sistema)
kernel-firmware-atheros | noarch | (Paquetes del sistema)

los tres kernel default están como | x86_64 |
me suena mucho a cpu,microprocesador ,x86,armv9,x86-64,etc.

y los kernel-firmware-, están como | noarch|
suena a dispositivos puertos,usb,wifi,tarjetas graficas .
preguntas:

1:
los tres kernel-default | x86_64 | ¿solo son para la cpu?

2:
los kernel-firmware | noarch | configura todos los dispositivos, bluetooth ,wifi, el sonido,controladora de video,usb,etc

3:
es mas o menos como yo creía electrónicamente el microprocesador comunicaba con los periféricos o dispositivos a través de los buses de datos y direcciones, ,desconozco como lo seleccionan o se activan
¿el kernel o el software, y también trabajan en grupo: kernel-default,kernel-firmware,sorfware?

tengo mas preguntas sobre el kernel sencillas.Pero otro día, gracias a tod@s
Saludos

Respondiendo a tus preguntas:

1.- Si, los kernel-default son para la CPU.
2.- Si, los kernel-firmware son códigos de software para comunicarse a nivel de maquina entre dispositivos con la CPU; en tu ejemplo, amdgpu son para las tarjetas graficas de AMD; ath10k, ath11k y atheros para las tarjetas de red inalámbricas o Wifi de Atheros que usan esos chipsets.
3.- El kernel-default junto con sus versiones kernel-pae, kernel-desktop, kernel-vainilla, kernel-rt, kernel-xen, etc… son los clásicos kernel para ejecutar en la CPU, abajo una explicación detallada de esos kernels.

Los kernel-firmware se instala si el instalador detecta un hardware que necesita un firmware para su correcto funcionamiento. A veces, ocurre que no lo detecta o pones un hardware con posterioridad, el kernel no lo detecta y tienes que instalar a mano el kernel-firmware para que funcione el dispositivo.

Google o cualquier buscador como Duckduckgo o Bing es tu amigo, sino pregunta y te contestamos.

3 Likes

Gracias DiabloRojo .
Ok. cuando instale hace unos años el dongle usb tdt tuve que instalar un dirver para el dongle de tv y reiniciar,para cargarlo ( experiencia: unas cuantas horas y esto no funciona, no había reiniciado) y este no entro en el kernel, el kernel se carga a iniciar el pc, por eso te indican que reinicie cuando cargas algo relacionado con el kernel,
lo voy pillando. una pregunta mas,con zypper --no-refresh search -s kernel te da todo lo que tiene el kernel en ese momento.

mi pregunta es veo 10 o mas kernel default que son las actualizaciones del kernel ¿creo?
me imagino que en este momento en mi sistema tengo instalado uno de ellos o todos
a la izquierda veo que un kernel lleva ( i+ )que sera el que esta instalado otros con una v y otro con vR , me lo puedes aclarar.
y si en una actualización me falla por ejemplo el kernel puedo deshabilitar y habilitar el kernel anterior como hace snapper o el sistema de btrfs.
Saludos

Eso es porque lo tienes instalado (i) y el (+) te indica que existe una versión superior (sólo una v es que es una versión distinta que se puede instalar de un paquete que ya tienes instalado).

Ejemplo:

 ~/Descargas  zypper se -v kernel-default                                             ✔  15:56:43 
Cargando datos del repositorio...
Leyendo los paquetes instalados...

S  | Name                        | Type    | Version        | Arch   | Repository
---+-----------------------------+---------+----------------+--------+----------------------------
v  | kernel-default              | paquete | 6.7.5-1.1      | x86_64 | Repositorio principal (OSS)
    name: kernel-default
i+ | kernel-default              | paquete | 6.7.1-1.1      | x86_64 | (Paquetes del sistema)
    name: kernel-default
i+ | kernel-default              | paquete | 6.7.4-1.1      | x86_64 | (Paquetes del sistema)
    name: kernel-default
   | kernel-default-base         | paquete | 6.7.5-1.1.31.9 | x86_64 | Repositorio principal (OSS)
    name: kernel-default-base
   | kernel-default-base-rebuild | paquete | 6.7.5-1.1.31.9 | x86_64 | Repositorio principal (OSS)
    name: kernel-default-base-rebuild
v  | kernel-default-devel        | paquete | 6.7.5-1.1      | x86_64 | Repositorio principal (OSS)
    name: kernel-default-devel
i+ | kernel-default-devel        | paquete | 6.7.1-1.1      | x86_64 | (Paquetes del sistema)
    name: kernel-default-devel
i+ | kernel-default-devel        | paquete | 6.7.4-1.1      | x86_64 | (Paquetes del sistema)
    name: kernel-default-devel
   | kernel-default-vdso         | paquete | 6.7.5-1.1      | x86_64 | Repositorio principal (OSS)
    name: kernel-default-vdso

Siempre tengo 2 versiones instaladas de kernel. En este momento el 6.7.1 y el 6.7.4. Ambos tienen el i+ porque están instalados y existe una versión posterior, en este caso el 6.7.5 que puedes ver listado con una v.

Si el paquete tuviera sólo una i es que no existe actualización. A menos que hagas un sudo zypper ref y haya una con lo que al hacer de nuevo el comando sudo zypper se que usé antes, daría una i+.

Saludos

1 Like

El significado de las distintas letras de la 1ª columna Status (Estado) de zypper search lo tienes en el manpage del comando zypper

Abre una consola y ejecuta el comando man zypper y usa las teclas “Av Pág.” y “Re Pág.” y las fechas arriba y abajo para navegar.

Te copio y pego la parte referida, copia y pegalo en cualqueir traductor para entenderlo.

       search (se) [options] [querystring|capability]...
           Search for packages matching any of the given search strings. * and ? wildcard characters can be used within search strings. If the search string is enclosed in /  (e.g.
           /^k.*e$/) it’s interpreted as a regular expression. See the install command for details about how to specify a capability.

           Results of the search are printed in a table with columns Status, Name, Summary and Type of package.

           In the detailed view (se -s) all available instances of matching packages are shown; each version in each repository on a separate line, with columns Status, Name, Type,
           Version, Architecture and Repository. For installed packages Repository shows either a repository that provides exactly the installed version of the package, or, if the
           exact version is not provided by any known repo, (System Packages) (or @System). Those installed packages not provided by any repo are often denoted as being unwanted,
           orphaned or dropped.

           The Status column can contain the following values:

               i+
                   installed by user request

               i
                   installed automatically (by the resolver, see section Automatically installed packages)

               v
                   a different version is installed

               empty
                   neither of the above cases

               !
                   a patch in needed state

               .l
                   is shown in the 2nd column if the item is locked (see section Package Locks Management)

               .P
                   is shown in the 2nd column if the item is part of a PTF (A program temporary fix which must be explicitly selected and will otherwise not be considered in dependency
                   resolution).

               .R
                   is shown in the 2nd column if the item has been retracted (see patch in section Package Types)

           The v status is only shown if the version or the repository matters (see --details or --repo), and the installed instance differs from the one listed in version or
           repository.

1 Like

Hola Krovikan gracias por su respuesta.
Como me cuentas tienes dos sistemas del kernel instalado ,me imagino que cuando conecta o enciendes el pc en el grub elijes una de las dos versiones del kernel y este se carga en memoria.
Y ahora me haces pensar: si todavía no he instalado el kernel de la tarjeta grafica ni nada como es que el procesador ya esta trabajando y tengo salida de video (creo genérica), el grub carga en en la memorias el kernel default ? o inicializa el procesador de un modo básico(me pierdo).
Saludos
S

Tengo 2 kernel, sí. Arranca uno de ellos por defecto (no me hace falta elegir) que se establece en el cargador de arranque de Yast.

Siempre uso el de mayor versión pero si en alguna ocasión pasa algo con el kernel nuevo, tengo el otro para seleccionarlo en el Grub y arrancar.

Respecto a la gráfica, por defecto instala Mesa y Nouveau que sirven para hacer funcionar cualquier tarjeta gráfica. Pero si quieres aprovechar la potencia (y características) de la tarjeta, puedes instalar el privativo (en mi caso Nvidia), el cual crea un módulo para el kernel y lo carga (antes de todo este proceso hay que deshabilitar Mesa/Nouveau).

Saludos

1 Like

Para que te hagas una idea acerca del módulo gráfico privativo aquí tengo una guía obsoleta sobre ello.

Saludos

1 Like

hola Profile - DiabloRojo - openSUSE Forums cuando busque la información de zypper la busque con zypper --help , y no como man zypper, -help es de ayuda y -man es el manual de usuario ¿creo? . y la pagina a la que me mandaste lo explica muy bien .[explicación sobre los distintos tipos de kernel ] en icomputo.com. y sin dibujitos,jeje
estuve mirando algunos tutoriales o información y empece a recordar la teoría que nos dieron sobre como funcionaba un pc ,unidades de registro la unidad aritmética lógica , la cache ,etc, recuerdo las preguntas del profe de electrónica,donde esta el sistema operativo (en el disco duro) y nos decía si y no.
y nos preguntaba si SO esta en el disco duro para que necesitamos la memoria RAM todo desde el punto de vista electrónicamente y llegábamos a la conclusión que el disco duro al no tener un bus de direcciones este la comunicación del disco duro era en serie y este tenia sectores donde guardar la información mientras la RAM al tener un bus de direcciones y datos podíamos consultar cualquier dirección de memoria sin pasos intermedio, directamente.
y por eso de manejar las memorias RAM y la velocidad de respuesta o baja latencia y donde se carga el SO y los firmware que ahora se que estos pasan al kenerl firmware y hay que reiniciar para que lo active el SO.
creo que voy comprendiendo lo que es el kernel.
tengo algunas preguntas mas, pero con la información dada por tod@s tengo cosas que aclarar
si no me pasare por aquí gracias a tod@s
Saludos

Gracias Krovikam por su respuesta ,lo que quería preguntar si todavía no he cargado el sistema operativo porque tengo funcionado la cpu , los puertos usb ,las conexiones pci ,la grafica,el teclado.
La ROM ¿inicializa el sistema , la cpu y la placa madre? .
Es una duda que tengo, y si es así ,la cpu trabaja con un kernel al iniciar el pc desde la ROM ¿también de forma genérica? y este kernel (genérico o no )se borra al iniciar el sistema, y carga o inicializa SO que quiero ejecutar,cargando el kenel default de este , que no esta cargado al iniciar desde la ROM no se si entiendes lo que quiero decir, gracias de antemano.
Saludos

De manera grafica
output1

1 Like

Hola:
El pc funciona según lo programado en su bios, esta contiene un firmware (intermedio de hardware y software) , en si es como un programa o un S.O.
Es el encargado de arrancar el pc (no tiene nada que ver con el kernel) .

(las bios actuales son como de tipo gráfico, la puedes manejar con ratón y puedes guardar en favoritos, algunas configuraciones, etc , permite mas cosas que la bios antiguas) .

Para entrar en la bios, tienes que pulsar una tecla, si te das cuenta aún no cargo el sistema, incluso no ha comprobado el dispositivo de arranque; un ejemplo, sería inicializar memoria, reloj, gráfica, teclado, etc de ahí una pausa y se va a comprobar la geometría del disco duro y a su pag. cero , de ahí puede seguir 2 caminos (dependiendo si es efi o bien es uefi) efi puede ir a pag. cero (512bytes de la pag. 0) y cargar lo que le indica los registros (que puede ser una partición o puede ser lo que está en el mbr , PAG. 0 , dos registros de 16 y 4 de 8, un total de 64, que restando de los 512 , nos deja libres unos 448 bytes, donde se puede alojar el mbr para arrancar el sistema) , en el caso de uefi (formato en gpt) , puede arrancar desde un archivo, las utilidades para ello creo que se guardan en la partición fat 16 o fat 32 y los archivos en /boot/efi . (esto es para cualquier S.O. ya sea linux ,win, etc. es decir es un estándar)

El S.O. puede estar en una usb, en un disco, en rom, eprom, etc (dependiendo de si su sistema es o no embebido ) .

Cuando no habían discos duros, se podía cargar desde una rom, eprom , cinta, etc. , lo mas simple que he visto es una cpu de 40 pines con eprom incluida, donde podías cargar un basic ( para un 8 bits en bloques de 8kb, un total de 64Mb 8x8, ejemplos 6502, 6802,6510, etc) .

Después de comprobar el dispositivo de arranque, la bios sigue cargando algunas cosas mas.

El arranque del sistema de linux tiene este orden :
HPOMEN:~ # systemd-analyze
Startup finished in 7.557s (firmware) + 4.215s (loader) + 2.183s (kernel) + 7.430s (initrd) + 34.230s (userspace) = 55.616s
graphical.target reached after 34.202s in userspac
Firmware (¿bios uefi ? ) , le sigue el loader o cargador (grub2, etc… es el menú del principio) , le sigue el kernel, después de esto está el initrd ( creo que es el inicial disco ram) y por último el espacio de usuario (systemd) .

Saludos
Edito: entrar en bios, se hace en detectar dispositivos, en la imagen que han puesto .

1 Like

Hola mikrios en el inicio del pc la placa madre a través de la rom pone en marcha la cpu y empieza a buscar dispositivos de la placa madre para configurar los puertos usb ,pci,memoria,grafica(mesa),bios ¿ protocolos de comunicaciones ?y busca una memoria segundaría disco duro -ssd- para cargar “grub” y el SO en la RAM ¿la configuración de la placa madre deja grabado algo en la ram que el sistema operativo necesita, el numero de puertos y configuración ,la cantidad de memoria que ha detectado,etc ?.gracias por todo
Saludos

Firmware es la BIOS UEFI.

Eso que has puesto es lo mismo que explica la imagen que ha puesto @nemonix

1 Like

Hola:
Si es correcto, los dispositivos de arranque, pueden ser conexión de red, usb, ópticos, discos, etc , pero puntualizar que en el paso de 3 al 4 puede utilizar dos caminos diferentes , legacy rom y uefi .

En equipos modernos no se utiliza rom, ni eprom, si no una eerom , (se borra por impulsos electricos) , en los antiguos creo que usaban una memoria con una pila, también utilizada por el reloj (aunque había algunos, como tarjetas de red y otros, que llevaban una rom o una eprom).

@DiabloRojo correcto, me imaginaba que era eso, sobre todo por las claves ( el aviso que da con la pantalla azul o otra, sobre un cambios de claves de uefi, no tengo seguro si lo da la bios o el S.O. ) .

Inicialmente pone en marcha determinados dispositivos, después hace una pausa y se va a los dispositivos de carga, y sigue por último detectando los demás que quedan .

Al encender el pc, entran en marcha muchos elementos electrónicos , como osciladores (el reloj de cpu) , convertidores de tensión, buses de comunicación I2C , etc.

El firmware es un software metido en un sistema de hardware, ya sea una bios, un ssd, un disco duro(smart) , un moden, una gráfica , un tv, en general cualquier equipo, que tenga un control por un software .

La imagen que han puesto, detalla de una forma fácil el proceso y de forma mas actualizada .

Pero tengo una duda, el grub2 ¿lo carga de /etc? , o no lo cargaba de /boot ( de etc pasa a boot, por eso si se modifica, creo que había que hacerlo en etc) , según tengo entendido, el que usa para arrancar es el de /boot/grub2/ .

Sobre la placa madre, no se si deja algo escrito en ram (sobre todo las placas modernas) , pero creo que no lo necesita, ya con el kernel y el S.O. puede tener acceso a los registros de ella , en cambio el S.O. si carga lo máximo posible en ram (initrd y initramfs, etc…)

Saludos

1 Like

Hola a tod@s ,gracias mikrios
El firmware es un software metido en un sistema de hardware, ya sea una bios, un ssd, un disco duro(smart) , un moden, una gráfica , un tv, en general cualquier equipo, que tenga un control por un software…
La placa madre deja listo el hardware de la placa(puertos pci,uart,ic2,usb,memoria,) para ser utilizado por el sistema operativo.
Y el kernel del sistema operativo maneja todo el hardware configurado por la placa madre para manejar los distintos dispositivos conectado al pc o placa madre.
Creo que ya lo tengo la idea general de como funciona, la ultima duda:


porque tengo un firmware de nivia o intel si no utilizo ninguno de los dos .
o viene genérico por si utilizo un pc intel para que lo detecte , y si no lo voy a utilizar podría borrarlos o los necesita el SO linux , gracias por todo a tod@s.
Saludos

Cuando cambio el tema de grub2 lo hago desde /etc/default/grub, en la linea GRUB_THEME=“/boot/grub2/themes/tema/theme.txt” y una vez cambiado el tema entonces el siguiente paso es hacer un sudo grub2-mkconfig -o /boot/grub2/grub.cfg

1 Like

Te viene porque instala por defecto el paquete kernel-firmware-all, o sea, todos.

Si borras el paquete kernel-firmware-all puedes elegir cual instalar y cual no. Por ejemplo, kernel-firmware-ueagle, ¿para qué? Es el firmware del antiguo cablemodem de Eagle. Eso ya no existe pero alguien lo puede tener.

Si sabes lo que tienes y lo que no (y lo que nunca tendrás) puedes borrar paquetes kernel-firmware a tu gusto (tras borrar el kernel-firmware-all).

Saludos

1 Like

hola de nuevo a todos , no he puesto la @, parece que no hay mujeres por aquí.
Esto es interminable,jeje por cada respuestas hay mas preguntas :
“Si borras el paquete kernel-firmware-all puedes elegir cual habilitar y cual no”
si borro este ultimo firmware-all tengo alguna herramienta para habilitar o deshabilitar los demás firmware ,
el firmware Eagle era para los moden telefónico de 56k el famoso pi piiiii pi pipripipi que llamaba a un numero telefónico para conectar a la red ,jeje todavía tengo alguno por hay.
como entras en el kernel para habilitar y deshabilitar ,hay alguna herramienta ,por consola, y al final de los kernels instalado he visto un archivo purge-kernels-service ¿ para depurar el kernel instalado?
Gracias por vuestra paciencia.
Saludos

Yo ya lo tuve. Concretamente el Comtrend CT-350 que daban en Wanadoo (otro de los que daban las operadoras con el Eagle era el Sagem Fast 800).
En este enlace puedes ver unos documentos completos que escribí al respecto en 2003 para hacerlos funcionar en SusE 8.1.
No era yo el desarrollador pero tenía el CT-350 y podía hacer pruebas para nauj27 (el desarrollador) y hacerle la documentación
Imgur

Tienes el gestor de paquetes Yast o el uso de zypper. Instalando o desinstalando paquetes kernel-firmware habilitas (instalado) o deshabilitas (desinstalado).

sudo zypper rm kernel-firmware-all
sudo zypper rm kernel-firmware-ueagle
sudo zypper rm kernel-firmware-amdgpu
sudo zypper rm kernel-firmware-radeon

El resto, como no los tengo claro no los borro. Uso Nvidia, por eso borro amdgpu y radeon. Como tengo CPU Intel tampoco borro ni intel ni i915 (que además, mi placa tiene el chipset i915).

Ese servicio sirve para que el sistema te vaya borrando kernels tras actualizar. El procedimiento que hace es este (números inventados):

Tienes un kernel 1 funcionando.
Lo actualizas a kernel 2.
Lo actualizar a kernel 3.
Tras arrancar con éxito con el kernel 3, el servicio te borra el kernel 1. De esta forma siempre tienes 2 kernels instalados (no sé porqué tu no).

Saludos