Cambios menores

This commit is contained in:
Luis 2022-05-21 07:34:56 +02:00
parent f3a8f8f951
commit f76cc7d159
1 changed files with 22 additions and 23 deletions

View File

@ -201,20 +201,20 @@ A modo de ejemplo vamos a compilar un kernel custom. Con este paquete debemos co
Void gestiona el kernel de manera diferente, normalmente cuando vamos a compilar un kernel custom estamos acostumbrados a descargar el último tarball desde kernel.org, descompimir, configurar y compilar ... esto no siempre es así, vamos a ver con detalle como es el proceso en Void Linux y como gestionarlo con XBPS-SRC.
Tal y como podemos observar en la plantilla de construcción del kernel, vemos que descarga el tarball y los parches para la versión de punto en curso, es decir, para obtener el último kernel a fecha que escribo este texto, el 5.17.9, baja el tarball de la serie 5.17 y luego todos los parches hasta obtener la versión de punto. Veamos esto con detalle en el template:
`pkgname=linux5.17`
`version=5.17.9`
```
pkgname=linux5.17
version=5.17.9
...
`distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version%.*}.tar.xz`
` https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-${version}.xz"`
distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version%.*}.tar.xz
https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-${version}.xz"
...
`skip_extraction="patch-${version}.xz"`
skip_extraction="patch-${version}.xz"
```
Aquí tenemos la descarga de la versíón del tarball 5.17 (`linux-${version%.*}.tar.xz`) y los parches de la versión 5.17.9 (`patch-${version}.xz`). Es muy importante fijarse y tener en cuenta esto, al igual que el valor de la variable `skip_extraction="patch-${version}.xz"` la cual indica que los parches no serán aplicados con el comando `extract`, por lo que para extraer una fuente completa del kernel, aplicando los parches de la versión de punto, en este caso 5.17.9, debemos emplear `patch`, que extrae la fuente pero no sólo realizando el `fetch` como `extract`, sino que además aplica los parches llegando a la fase `patch`, es un paso más. Veamos un ejemplo:
#### Extraer las fuentes del kernel:
`./xbps-src -I extract linux5.17` => Aquí estamos extrayendo las fuentes del kernel 5.17.
`./xbps-src -I patch linux5.17` => Aquí estamos extrayendo el kernel 5.17 y además los parches de la versión 5.17.9, que será finalmente nuestra fuente.
- `./xbps-src -I extract linux5.17` => Aquí estamos extrayendo las fuentes del kernel 5.17.
- `./xbps-src -I patch linux5.17` => Aquí estamos extrayendo el kernel 5.17 y además los parches de la versión 5.17.9, que será finalmente nuestra fuente.
#### Configuración:
Para configurar las fuentes del kernel el primer paso sería acceder la directorio temporal de construcción:
@ -222,31 +222,31 @@ Para configurar las fuentes del kernel el primer paso sería acceder la director
Ahora podemos aplicar una configuración que ya tuvieramos o realizarla desde cero, os dejo los principales comandos:
`make mrproper`: elimina la configuración, puesta a cero.
- `make mrproper`: elimina la configuración, puesta a cero.
`make oldconfig`: aplica tu configuración a las nuevas fuentes, si hay valores nuevos que no están contemplados en tu configuración pregunta por cada uno.
- `make oldconfig`: aplica tu configuración a las nuevas fuentes, si hay valores nuevos que no están contemplados en tu configuración pregunta por cada uno.
`make olddefconfig`: lo mismo que oldconfig, pero para cada valor nuevo no contemplado en tu configuración aplica los valores por defecto.
- `make olddefconfig`: lo mismo que oldconfig, pero para cada valor nuevo no contemplado en tu configuración aplica los valores por defecto.
`make defconfig`: aplica una configuración por defecto para tu arquitectura, es un buen punto de partida de carácter general.
- `make defconfig`: aplica una configuración por defecto para tu arquitectura, es un buen punto de partida de carácter general.
`make localmodconfig`: aplica una configuración partiendo de los módulos cargados, se pueden revisar con lsmod. Es un buen punto de partida para un configuración más personalizada.
- `make localmodconfig`: aplica una configuración partiendo de los módulos cargados, se pueden revisar con lsmod. Es un buen punto de partida para un configuración más personalizada.
`make tinyconfig`: aplica una configuración mínima, apto para diversión extrema, requiere cierta experiencia, no para empezar.
- `make tinyconfig`: aplica una configuración mínima, apto para diversión extrema, requiere cierta experiencia, no para empezar.
Una vez configurada la fuente, debemos copiar el archivo de configuración `.config` de
`void-packages/masterdir/buildir/linux5.17/.config`
a
`void-packages/srcpkgs/linux5.17/files/x86_64-dotconfig-custom`
Una vez configurada la fuente, debemos copiar el archivo de configuración `.config` del directorio:
- `void-packages/masterdir/buildir/linux5.17/.config` a
- `void-packages/srcpkgs/linux5.17/files/x86_64-dotconfig-custom`
El nombre debe ser éste, ya que así está definido en la plantilla, donde nos viene a decir que si encuentra el fichero de configuración con éste nombre aplicará dicha configuración personalizada en el proceso de construcción:
```
...
if [ -f ${FILESDIR}/${subarch:-$arch}-dotconfig-custom ]; then
msg_normal "Detected a custom .config file for your arch, using it.\n"
cp -f ${FILESDIR}/${subarch:-$arch}-dotconfig-custom .config
make ${makejobs} ARCH=$arch ${_cross} oldconfig
...
```
#### Parches personalizados
@ -269,11 +269,10 @@ linux5.17
#### Construcción e instalación del Kernel
Llegamos a la etapa final del kernel, donde se va a compilar con todos los parches y configuraciones que se hayan aplicado y posteriormente instalarlo en el sistema. Si utilizamos `Grub` no debemos preocuparnos en ejecutar su actualización, ya que `xbps-src` ya activa los `hooks` necesarios para actualizarlo tras la instalación del kernel en `/boot`.
`$ ./xbps-src pkg linux5.17 && xi linux5.17`
- `$ ./xbps-src pkg linux5.17 && xi linux5.17`
NOTA: para recompilar y/o reinstalar la misma versión de un paquete se debe forzar, mediante el flag `-f`:
`$ ./xbps-src -f pkg linux5.17 && xi -f linux5.17`
- `$ ./xbps-src -f pkg linux5.17 && xi -f linux5.17`
### Referencias