Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 84 additions & 28 deletions docs/events/gpul-schools/install_party.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,74 @@
# Linux Install Party - Tips & Tricks

_Escrito por Sprinter05_
*Escrito por Sprinter05*

## Bitlocker
## Pasos a seguir

A continuación se describen los pasos básicos para instalar Linux con dual boot, más información en las secciones relevantes:

1. Conseguir la clave de recuperación de Bitlocker si fuera necesario.
2. Proceder a desencriptar el disco
3. Reducir el tamaño de las particiones
4. Desactivar Secure Boot
5. Instalar Linux
6. Realizar los pasos de post-instalación
- Configurar eduroam
- Configurar `timedatectl` para guardar la hora en la pila RTC usando la zona horaria
- Configurar GRUB para usar `os-prober`
- Cambiar el bootloader predeterminado al de Linux en la BIOS/UEFI
- Añadir al usuario al grupo `sudo`/`wheel` si fuera necesario
- Instalar Flatpak si no está instalado

## Configuración previa en Windows
### Bitlocker

En algunas instalaciones de Windows si Bitlocker está activado, al arrancar con un USB booteable, después al volver a Windows se quedará atascado pidiendo la clave de recuperación de Bitlocker. Dicha clave se puede encontrar en la cuenta de Microsoft asociada a la instalación de Windows, en los ajustes de la cuenta en la web de Microsoft; se recomienda apuntar la clave a parte.

Si está activado el Bitlocker se recomienda desactivarlo para hacer dual boot, pero es recomendable advertir de lo que supone eso. Hay formas de que el bootloader de Windows conviva con GRUB sin dar problemas de Bitlocker pero requiere varios pasos algo complejos (lo hay en varias webs descrito, pero en ese caso igual hay que buscarse la vida, lo más fácil es desactivarlo pero es a decisión de cada uno).

En esta web se describe el proceso para desactivarlo (aplica a Windows 10 y 11): https://windowsreport.com/disable-bitlocker-windows-11/.
Para ello hay que ir a la configuración de la cuenta de Windows asociada al portátil y acceder a *Dispositivos > Ver detalles > Administrar claves de recuperación de Bitlocker* y copiar los datos que aparezcan ahí en otro dispositivo.

Para quitarlo es necesario ir a la configuración del sistema al apartado de Bitlocker o ejecutar en un `cmd` con privilegios de administrador el comando `manage-bde -status` para comprobar si está habilitado y `manage-bde -off` para deshabilitarlo.


## Intel Rapid Storage Technology
### Intel Rapid Storage Technology

Por algún motivo en algunos portátiles por defecto viene el disco en modo RAID usando el driver de Intel RST. Esto da problemas casi siempre en cualquier instalador tanto de Linux como de Windows por falta de drivers de RAID para detectar el disco. Puede que tengas la suertes de encontrar los drivers por ahí en la web de Intel pero normalmente no van en Linux lo cual complica algo las cosas.

Se recomienda desactivarlo directamente sólo si los instaladores no detectan el disco (se puede hacer desde la BIOS/UEFI), pero es bastante probable que rompa los bootloaders existentes y haga falta recrearlos. Las instrucciones para recrear el de Windows se explican más abajo en este documento en caso de que haga falta.

## Reducción de disco
### Reducción de disco

Para reducir el disco hay que abrir la herramienta `diskmgmt.msc` (se puede ejecutar desde la ventana de diálogo que se abre al pulsar las teclas Win+R). Se pulsa en la partición deseada y se elije reducir el volumen. Se recomiendan mínimo 50GB para instalar Linux.

### Desfragmentación
#### Desfragmentación

Si no hay espacio suficiente hay varias formas de intentar reducirlo. La primera es borrar archivos necesarios. La segunda es desfragmentar, esto se puede conseguir abriendo un terminal de administrador (abre el diálogo de Win+R escribe `cmd` y pulsa Ctrl+Shift+Enter) y escribiendo `defrag /A C:` (o la letra que corresponda a la partición a desfragmentar). Si el resultado del análisis dice que se puede desfragmentar hay que ejecutar `defrag C:` y esperar a que acabe, tras lo cual se debe reiniciar.

### Hibernación
#### Hibernación

A veces el archivo de hibernación puede ocupar demasiado espacio por lo que se recomienda desactivarlo salvo que el usuario no quiera que se quite. Para hacerlo hay que abrir un terminal de administrador (tal y como se describe en el apartado anterior) y ejecutar `powercfg.exe /hibernate off`, tras lo cual se debe reiniciar.

### Visor de eventos
#### Visor de eventos

Al intentar reducir el volumen suele aparecer información extra de porqué no se puede reducir más espacio. Pulsando las teclas Win+X y eligiendo "Visor de eventos" y abriendo el apartado Registros de Windows > Aplicaciones aparece la información necesaria. Hay que buscar eventos de tipo "Defrag" e ir leyendo la información que dan hasta encontrar uno que te diga que archivo está impidiendo la reducción de disco. A partir de ahí para cada caso hay que buscar información extra online. Si el archivo que impide la reducción es `hyberfile.sys` hay que desactivar la hibernación tal y como se describe en el apartado anterior.

### Diskpart
#### Diskpart

Desde un USB externo con un instalador de Windows o un entorno mínimo (se explican más abajo las opciones, pero es recomendable usar un instalador) hay que ejecutar en un terminal `diskpart`. Una vez dentro hay que ejecutar `list vol` y localizar el volumen a reducir, tras lo cual se ejecuta `select vol <n>` (sustituyendo `n` por el número de volumen a reducir) y finalmente se ejecuta `shrink desired=<y>`, siendo `y` el número a reducir en MB (por ejemplo, 50GB es 50000). Si ha funcionado diskpart lo dirá.

## Bootloader de Windows

### Comprobar el bootloader
## Proceso de instalación
### Comprobar el bootloader de Windows

Dentro de Windows usando la herramienta `diskmgmt.msc` comprobar el tamaño de la partición de arranque de Windows. Si es de 100MB o menos es muy probable que vaya a dar problemas al instalar Linux.

Por algún motivo los instaladores de la mayoría de distribuciones de Linux aunque crees otra partición EFI siempre intentan instalar en la de Windows y al ser 100MB~ no cabe GRUB por lo que el instalador falla sin especificar el motivo.

Para solucionar esto se recomienda tener un instalador de Windows a mano o en su defecto Win10XPE (https://github.com/ChrisRfr/Win10XPE), aunque es mejor el instalador (estas instrucciones asumen que se está usando un instalador).
Para solucionar esto se recomienda tener un instalador de Windows a mano o en su defecto [Win10XPE](https://github.com/ChrisRfr/Win10XPE), aunque es mejor el instalador (estas instrucciones asumen que se está usando un instalador).

### Instalar Linux sin bootloader de Windows

Desde un instalador de Windows hay que pulsar Shift+F10 para abrir un terminal, ejecutar `diskpart` y dentro del programa `list partition` y comprobar el offset (que suele ser 1024) y el tamaño, y apuntarlo. Después hay que borrar desde el instalador de Linux la partición de arranque de Windows y continuar de normal con una partición de arranque EFI exclusiva para Linux (al crear la partición de EFI para Linux es importante no ponerla en el hueco donde previamente estaba la de Windows, que suele ser al principio). **CUIDADO DE NO BORRAR LA PARTICIÓN PRIMARIA DE WINDOWS, SOLO LA DE ARRANQUE**
Desde un instalador de Windows hay que pulsar Shift+F10 para abrir un terminal, ejecutar `diskpart` y dentro del programa `list partition` y comprobar el offset (que suele ser 1024) y el tamaño, y apuntarlo. Después hay que borrar desde el instalador de Linux la partición de arranque de Windows y continuar de normal con una partición de arranque EFI exclusiva para Linux (al crear la partición de EFI para Linux es importante no ponerla en el hueco donde previamente estaba la de Windows, que suele ser al principio). **CUIDADO DE NO BORRAR LA PARTICIÓN PRIMARIA DE WINDOWS, SOLO LA DE ARRANQUE**.

### Recrear el bootloader de Windows

Expand All @@ -62,23 +82,28 @@ Antes de salir de `diskpart` es bueno comprobar la letra de montaje de Windows y

Finalmente instalamos el bootloader (ya fuera de `diskpart`), asumiendo que _C:_ es la ruta de Windows y _S:_ la del bootloader (pero a la hora de ejecutar el comando hay que cambiarlas por las letras correspondientes en cada caso), y usando `bcdboot C:\Windows /s S: /f UEFI` se instalarán los archivos del bootloader. Si no da fallos hemos acabado, se puede reiniciar y verificar que funciona.

## GRUB
## Post-instalación
### GRUB

En algunas distribuciones de Linux los comandos y directorios en vez de `grub` pueden ser `grub2`, se recomienda revisarlo y simplemente sustituír cuando sea necesario.

### OS Prober
#### OS Prober

Linux dispone de una herramienta para comprobar si existen otras instalaciones de sistemas operativos en el disco. En el archivo `/etc/default/grub`, se debe descomentar la línea `GRUB_DISABLE_OS_PROBER` si estaba comentada y asegurarse de que tiene el valor `"false"` y comprobar que `os_prober` está instalado en el sistema. Ahora se puede ejecutar `sudo update-grub` o si no existe ese comando `sudo grub-mkconfig -o <grub config file>` (el archivo de configuración suele estar en `/boot/grub/grub.cfg` pero no hace daño comprobar primero) y ya debería añadir la instalación de Windows a la configuración de GRUB.

### Save default
#### Save default

Esto es opcional pero recomendado, al activarlo el bootloader marcará por defecto el último sistema operativo seleccionado en el arranque previo. Desde el archivo `/etc/default/grub` se debe descomentar la línea `GRUB_SAVEDEFAULT` y asegurarse de que tiene el valor `"true"` y la opción `GRUB_DEFAULT` debe tener el valor `"saved"`. Es obligatorio regenerar la configuración de GRUB como se describe en el apartado anterior.

### GRUB no funciona
#### GRUB no funciona

Si el bootloader de GRUB no se instaló bien aún con todo lo descrito anteriormente se puede intentar instalarlo manualmente usando `chroot` desde otra instalación.

Si el bootloader de GRUB no se instaló bien aún con todo lo descrito anteriormente se puede intentar instalarlo manualmente usando `chroot` desde otra instalación. Para más detalles la Arch Wiki es tu mejor amiga: https://wiki.archlinux.org/title/GRUB.
El comando para instalar GRUB en un sistema UEFI es `grub-install --target=x86_64-efi --efi-directory=<efi directory> --bootloader-id=GRUB` (el directorio EFI suele ser `/boot/efi` o `/boot/EFI`).

## Eduroam
### Eduroam

Para instalar eduroam hay que ir a la web https://cat.eduroam.org, seleccionar la universidad y descargar el script de Python. Después ejecutarlo desde cli con `python3 <ruta al archivo>` (en algunos sistemas puede que `python` a secas funcione directamente) y seguir las instrucciones.
Para instalar eduroam hay que ir a la web de [eduroam](https://cat.eduroam.org), seleccionar la universidad y descargar el script de Python. Después ejecutarlo desde cli con `python3 <ruta al archivo>` (en algunos sistemas puede que `python` a secas funcione directamente) y seguir las instrucciones.

Si da un fallo diciendo que no detecta `NetworkManager` hay que instalarlo manualmente creando una conexión desde el editor de `NetworkManager` (aplicación de GUI: `nm-connection-editor`). El certificado se encuentra en `~/.config/cat_installer/ca.pem`.

Expand All @@ -92,16 +117,47 @@ La conexión debería tener lo siguiente:
- _Inner authentication_: PAP
- Cubrir username y password con los de la cuenta de la UDC

## Misceláneo
### Añadir el usuario a superusuarios

### Cambiar el layout de teclado en entorno live
En algunas distribuciones no añade al usuario principal al grupo de superusuario por defecto, eso se puede arreglar primero pasando a usuario root usando el comando `su` y después ejecutando `sudo usermod -aG sudo <username>` sustituyendo el nombre de usuario por el que haga falta. En algunas distribuciones puede que el grupo se llame `wheel` en vez de `sudo`.

Al iniciar en un entorno live se puede cambiar la distribución de teclado usando el comando `setxkbmap es`.
### Sincronizar el reloj con la hora local de Windows

### Añadir el usuario al grupo sudo
Por defecto Windows guarda en la pila RTC el reloj en zona horaria local en vez de UTC como Linux. Para arreglarlo hay que cambiar que Linux guarde también la hora local. Esto se puede conseguir ejecutando `sudo timedatectl set-local-rtc 1 --adjust-system-clock`.

En algunas distribuciones no añade al usuario principal al grupo de superusuario por defecto, eso se puede arreglar primero pasando a usuario root usando el comando `su` y después ejecutando `sudo usermod -aG sudo <username>` sustituyendo el nombre de usuario por el que haga falta.
### Habilitar Secure Boot en Linux

### Sincronizar el reloj con la hora local de Windows
Es posible habilitar Secure Boot en cualquier distribución Linux pero solo algunas soportan firmar el kernel y el bootloader automáticamente al actualizar. Aquí se explican las conocidas hechas en otras Install Parties. Esto solo es necesario si es necesario tener Secure Boot en Windows.

#### Pasos para cada distribución

Lo primero es asegurarse de que Secure Boot está deshabilitado antes de empezar.

##### Fedora

Para habilitar Secure Boot en Fedora hay que ejecutar los siguientes comandos:

1. `sudo dnf install kmodtool akmods mokutil openssl`
2. `sudo kmodgenca -a`
- Si dice que la clave ya existe no es necesario ejecutar el comando de nuevo
3. `sudo mokutil --import /etc/pki/akmods/certs/public_key.der`
- Pedirá crear una contraseña, esta contraseña solo se utilizará para el MOK enrollment, por lo que puede ser algo sencillo
4. `sudo akmods --force --rebuild`
5. `sudo dracut --force`
6. `sudo systemctl reboot`
7. Realizar el MOK enrollment
8. Habilitar Secure Boot en la UEFI

#### MOK Enrollment

Al reiniciar aparecerá una pantalla azul del MOK Enrollment:

1. Pulsar cualquier tecla
2. Seleccionar *Enroll MOK*
3. Seleccionar *Continue*
4. Seleccionar *Yes* y poner la contraseña creada anteriormente
5. Seleccionar *Reboot*

#### Comprobar si ha funcionado

Por defecto Windows guarda en la pila RTC el reloj en zona horaria local en vez de UTC como Linux. Para arreglarlo hay que cambiar que Linux guarde también la hora local. Esto se puede conseguir ejecutando `sudo timedatectl set-local-rtc 1 --adjust-system-clock`
Para comprobar si Secure Boot se ha habilitado es necesario ejecutar `bootctl` y comprobar si *Secure Boot* aparece como *Enabled (deployed)*.
Loading