[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
es:howtos:slackware_admin:building_the_linux_kernel_using_git_repository [2019/03/09 02:03 (UTC)] – [Dónde construir] antares_alfes:howtos:slackware_admin:building_the_linux_kernel_using_git_repository [2019/03/09 02:26 (UTC)] – [Qué configurar] antares_alf
Línea 31: Línea 31:
  
 <code bash> <code bash>
-git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git # this only needs to be run once at the very beginning+git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git # Esto solo debe ejecutarse una vez al principio
 cd linux-stable cd linux-stable
-git pull # run this every time to update the source +git pull # ejecuta esto cada vez para actualizar la fuente 
-git checkout v$version # you MUST checkout a kernel version or you will get the base versioni.e. 3.10 +git checkout v$version # DEBE verificar una versión del kernel o obtendrá la versión base, es decir, 3.10 
-git log # just check to make sure the top of the log says the version you want +git log # simplemente verifique para asegurarse de que la parte superior del registro indique la versión que desea 
-git tag -v v$version # this is not necessarybut it validates the source using gpg public keywhich you need to import+git tag -v v$version # esto no es necesariopero valida la fuente usando una clave pública de gpg, que necesita importar
 </code> </code>
  
-<note>Para importar fácilmente una clave gpg, necesita la '' ID de clave RSA 0000000E ''. Ejecute <code> gpg --search 0000000E </code> y elija la clave que desea importar, o si eso no funciona, ejecute <code>gpg --keyserver wwwkeys.pgp.net --recv-keys 0000000E</code>La clave aquí es solo un ejemplo.</note>+<note>Para importar fácilmente una clave gpg, necesita la ''ID de clave RSA 0000000E''. Ejecute <code> gpg --search 0000000E </code> y elija la clave que desea importar, o si eso no funciona, ejecute <code>gpg --keyserver wwwkeys.pgp.net --recv-keys 0000000E</code>La clave aquí es solo un ejemplo.</note>
 2. Puede descargar el código fuente de [http://kernel.org/]]. La mejor manera de mantenerse al día es descargar el archivo comprimido de la versión base y luego descargar el parche de versión individual que desee, y aplicarlo antes de compilar. 2. Puede descargar el código fuente de [http://kernel.org/]]. La mejor manera de mantenerse al día es descargar el archivo comprimido de la versión base y luego descargar el parche de versión individual que desee, y aplicarlo antes de compilar.
  
Línea 47: Línea 47:
 unxz -k "linux-$base.tar.xz" unxz -k "linux-$base.tar.xz"
 gpg --verify "linux-$base.tar.sign" gpg --verify "linux-$base.tar.sign"
-the following is done with every new kernel update+Lo siguiente se hace con cada nueva actualización del kernel
 tar -xf "linux-$base.tar.xz" tar -xf "linux-$base.tar.xz"
 mv "linux-$base" "linux-$version" mv "linux-$base" "linux-$version"
Línea 102: Línea 102:
 <code bash> <code bash>
 make clean make clean
-make mrproper # note that this deletes any .config file in the current directory+make mrproper # tenga en cuenta que esto elimina cualquier archivo .config en el directorio actual
 </code> </code>
  
-Tienes muchas opciones cuando se trata de cómo construir el núcleo. Es mejor leer el archivo '' README '' en el directorio de la fuente del kernel para obtener todas las opciones actuales, así como también '' Documentation /kbuild/kconfig.txt '' para obtener detalles sobre todas las opciones.+Tienes muchas opciones cuando se trata de cómo construir el Kernel. Es mejor leer el archivo ''README'' en el directorio de la fuente del kernel para obtener todas las opciones actuales, así como también ''Documentation /kbuild/kconfig.txt'' para obtener detalles sobre todas las opciones.
  
 <file txt README> <file txt README>
Línea 181: Línea 181:
 </file> </file>
  
-Otra opción más es comenzar con una de las configuraciones de kernel de slackware que se encuentran en el directorio '' source /k '' de sus medios de instalación de slackware. Simplemente copie el archivo de configuración, cámbiele el nombre a '' .config '' y ejecute uno de los comandos de configuración, normalmente '' make oldconfig '' si está compilando una versión del kernel más nueva que el archivo de configuración en el que se copió.+Otra opción más es comenzar con una de las configuraciones de kernel de slackware que se encuentran en el directorio ''source /k'' de sus medios de instalación de slackware. Simplemente copie el archivo de configuración, cámbiele el nombre a ''.config'' y ejecute uno de los comandos de configuración, normalmente ''make oldconfig'' si está compilando una versión del kernel más nueva que el archivo de configuración en el que se copió.
  
-También puede usar la configuración del kernel de su kernel actualmente en ejecución ubicado en '' /proc/config.gz '' ejecutando<code bash>zcat /proc/config.gz > .config</code> Sin embargo, tenga en cuenta que '' /proc/config.gz '' puede no existir si el kernel no está configurado para exponerlo. +También puede usar la configuración de kernel de su kernel actualmente en ejecución ubicado en ''/proc/config.gz'' ejecutando<code bash>zcat /proc/config.gz > .config</code> Sin embargo, tenga en cuenta que ''/proc/config.gz'' puede no existir si el kernel no está configurado para exponerlo. 
-<note>Si elige compilar en '' /usr/src '' y usa '' xconfig '' o '' gconfig '', lea [[howtos: slackware_admin: kernelbuilding # x_and_su | howtos: slackware_admin: kernelbuilding # x_and_su]]</note>+<note>Si elige compilar en ''/usr/src'' y usa ''xconfig'' o ''gconfig'', lea [[howtos: slackware_admin: kernelbuilding # x_and_su | howtos: slackware_admin: kernelbuilding # x_and_su]]</note>
  
 ==== Qué configurar ==== ==== Qué configurar ====
-<note important>Primero, asegúrese de entender la diferencia entre el **módulo integrado**(Built-in) y el **módulo**. **Integrado** significa que el controlador o la característica se incluye en el kernel y el cargador de arranque lo carga en la RAM. **Módulo** significa que el controlador está construido como un módulo y es cargado por el núcleo una vez que monta el sistema de archivos. Esto es muy importante, ya que para cargar un módulo desde el sistema de archivos, el kernel necesita controladores para manejar el controlador IDE o SATA, así como el sistema de archivos en el HDD o SDD. **Debe** integrar los módulos de controlador IDE / SATA (PATA / SATA / AHCI) necesarios para acceder a su HDD / SDD, así como el controlador de sistema de archivos necesario para montar el sistema de archivos en el que se encuentran los módulos **o** puede [[howtos: slackware_admin: kernelbuilding # creating_an_initrd | make an initrd]]. Si no lo hace, se producirá el error "'Kernel Panic-not syncing: VFS: unable to mount root fs on unknown block(8,2)'" (no se puede montar fs raíz en un bloque desconocido).</note>+<note important>Primero, asegúrese de entender la diferencia entre el **módulo integrado**(Built-in) y el **módulo**. **Integrado** significa que el controlador o la característica se incluye en el kernel y el cargador de arranque lo carga en la RAM. **Módulo** significa que el controlador está construido como un módulo y es cargado por el núcleo una vez que monta el sistema de archivos. Esto es muy importante, ya que para cargar un módulo desde el sistema de archivos, el kernel necesita controladores para manejar el controlador IDE o SATA, así como el sistema de archivos en el HDD o SDD. **Debe** integrar los módulos de controlador IDE/SATA (PATA/SATA/AHCI) necesarios para acceder a su HDD/SDD, así como el controlador de sistema de archivos necesario para montar el sistema de archivos en el que se encuentran los módulos **o** puede [[howtos: slackware_admin: kernelbuilding # creating_an_initrd | make an initrd]]. Si no lo hace, se producirá el error "'Kernel Panic-not syncing: VFS: unable to mount root fs on unknown block(8,2)'" (no se puede montar fs raíz en un bloque desconocido).</note>
  
 <note>Por lo tanto, si construyes algo como un módulo, ¿por qué no hacer que todo sea Built-in? Ciertamente, esta es una opción, y esto es lo que se hace para el enorme kernel slackware, porque no tiene acceso a los módulos. Sin embargo, en una máquina antigua notará una diferencia entre el arranque del gran kernel (lento) y el arranque del kernel genérico (rápido). Esto se debe a que cargar un kernel grande en RAM lleva más tiempo que uno más pequeño. Hay otro problema con la construcción de todo en el kernel, ya que algunos controladores pueden entrar en conflicto entre sí y no podrá descargar los módulos porque están integrados. Por lo general, puede evitar que los controladores incorporados funcionen en el arranque utilizando la línea de comando del kernel que puede configurar en la configuración de su cargador de arranque, por ejemplo, '' /etc/lilo.conf ''. <note>Por lo tanto, si construyes algo como un módulo, ¿por qué no hacer que todo sea Built-in? Ciertamente, esta es una opción, y esto es lo que se hace para el enorme kernel slackware, porque no tiene acceso a los módulos. Sin embargo, en una máquina antigua notará una diferencia entre el arranque del gran kernel (lento) y el arranque del kernel genérico (rápido). Esto se debe a que cargar un kernel grande en RAM lleva más tiempo que uno más pequeño. Hay otro problema con la construcción de todo en el kernel, ya que algunos controladores pueden entrar en conflicto entre sí y no podrá descargar los módulos porque están integrados. Por lo general, puede evitar que los controladores incorporados funcionen en el arranque utilizando la línea de comando del kernel que puede configurar en la configuración de su cargador de arranque, por ejemplo, '' /etc/lilo.conf ''.
 es:howtos:slackware_admin:building_the_linux_kernel_using_git_repository ()