Usuario:VARGUX/GentooLinux/Instalación

Lista de Verificación Rápida de Instalación Gentoo Linux editar

Última actualización: 09/10/2022, VARGUX

Definir el medio de instalación de Gentoo editar

1 https://www.gentoo.org/downloads/

https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/current-install-amd64-minimal/

Descargamos el Minimal installation CD
2 https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/current-stage3-amd64-openrc/
Descargamos el Stage 3 desktop openrc

Definir distribución de teclado editar

3 es
Booteamos y elegimos es, para distribución de teclado español.
loadkeys es
Si no alcanzamos a cambiar la distribución de teclado, cuando finalice y llegue al promt (livecd ~ # _), escribir:
loadkeys es

Verifificar conexión de dispositivos a la red editar

4 ip a ó ip addr
Se ve los dispositivos de red activos (UP) o deshabilidatos (DOWN).
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlem 1000
Ejemplo 1:
emp4so es una tarjeta de red ethernet activa UP. Se tiene internet cableado activo. Pudiéndose usar para instalar el sistema.
3:wlp3s0: >NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisx noqueue state DOWN group default qlen 1000
Ejemplo 2:
wlp3so es una tarjeta de red wireless deshabilitada DOWN. No se tiene internet wifi.
ls /lib/modules/`uname -r`/kernel/drivers/net
Podemos verificar drivers disponibles ejecutando

Diagnosticar conexión de internet editar

5 ping –c 1 gentoo.org
Diagnosticar internet (IP) cargando la web de Gentoo Linux haciendo un número de 1 ping.
Si se tiene internet, sobre todo en una red cableada ethernet, Continuar en punto 8
Si no se tiene internet, continuar en 6.

Activar red wireless editar

6 modprobe 8139too
Usar el módulo 8139too para dar soporte al hardware, que soporta ciertos tipos de interfaces de red.
Se pueden ver los otros módulos cargados con nano /proc/modules

Configurar red wireless editar

net-setup
  • Se solicitará seleccionar la interface que se desea configurar de la lista: enp4s0 ó wlp3s0.
Con Entrar se acepta (OK).
  • Se da Entrar para aceptar (Yes)
  • Se selecciona "My network is wireless (WPA-PKK/WPA2-PSK).
Se da Entrar para aceptar (OK)
  • Se escribe el nombre de la red wifi (SSID).
Se da Entrar para aceptar (OK)
  • Se escribe la contraseña de la red wifi WPA (SSID).
Se da Entrar para aceptar (OK)
  • Se puede usar DHCPCD para configurar la interfaz de red.
Usar 1.

Detectar tarjeta de red editar

7 ifconfig
Deben aparecer las mismas redes con descripción del punto 4, pero con descripción UP, ir al punto 5.
Si no son detectadas aparecerá un error. Solicitar ayuda en https://web.libera.chat/#gento

Particionar el disco editar

8 fdisk -l
Se pueden ver las particiones /dev, los tamaños de discos y sectores, el tipo de partición y su id.


Este ejemplo se tiene la partición /dev/sda1 para booteo EFI. Para el caso del booteo BIOS no se necesita esta partición.
Disposit. Comienzo Final Sectores Tamaño Id Tipo
/dev/sda1 2048 2099199 2097152 1G EF Sistema EFI
/dev/sda2 2099199 18876415 16777216 8G 82 Linux swap
/dev/sda3 18876416 1713485823 1694609408 808.1G 83 Linux
/dev/sda4 1713485824 1953525134 240039311 115.5G 83 Linux
lsblk
Se pueden ver las particiones sda, con el tamaño de los discos.


Este ejemplo se tiene la partición /dev/sda1 para booteo EFI. Para el caso del booteo BIOS no se necesita esta partición.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931,56G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 8G 0 part [SWAP]
├─sda3 8:3 0 808,1G 0 part /home
├─sda4 8:4 0 114,5G 0 part /

Ingresar a ver las particiones editar

9 cfdisk /dev/sda
Se ingresa al disco /dev/sda con la herramienta de línea de comandos cfdisk.

UEFI editar

Partición 1 (/dev/sda1): 512 Mb (mínimo), partición primaria para booteo, tipo “ef”, partición primaria.
Partición 2 (/dev/sda2): 8Gb, para Swap, tipo “82 Linux swap”, partición primaria.
Partición 3 (/dev/sda3): El resto del disco duro, para /home, tipo “83 Linux”, partición primaria.
Partición 3 (/dev/sda4): El resto del disco duro, para / (root), tipo “83 Linux”, partición primaria.

BIOS editar

Partición 1 (/dev/sda1): 8Gb, para Swap, tipo “82 Linux swap”, partición primaria.
Partición 2 (/dev/sda2): Para / (root), tipo “83 Linux”, partición primaria.
Partición 3 (/dev/sda3): Para /home, tipo “83 Linux”, partición primaria.

Formateando las particiones editar

10 cfdisk /dev/sda
Se ingresa al disco /dev/sda con la herramienta de línea de comandos cfdisk.

UEFI editar

mkfs.vfat -F32 /dev/sda1
Formato a la partición de (/dev/sda1) booteo UEFI.
mkswap /dev/sda2
Partición swap (/dev/sda2) formateada.
mkfs.ext4 /dev/sda3
Partición /home (/dev/sda3) formateada.
mkfs.ext4 /dev/sda4
Partición / (/dev/sda4) formateada.

BIOS editar

mkswap /dev/sda1
Partición swap (/dev/sda1) formateada.
mkfs.ext4 /dev/sda2
Partición /home (/dev/sda2) formateada.
mkfs.ext4 /dev/sda3
Partición / (/dev/sda3) formateada.

Creando directorios de boteo editar

11

MBR / UEFI editar

mkdir -p /mnt/gentoo
mkdir /mnt/gentoo/home
mkdir -p /mnt/gentoo/boot/
Creando particiones de boteo MBR - BIOS)
mkdir -p /mnt/gentoo
mkdir /mnt/gentoo/home
mkdir -p /mnt/gentoo/boot/
mkdir /mnt/gentoo/boot/efi
Creando particiones de boteo UEFI

Montando particiones editar

12

UEFI editar

mount /dev/sda1 /mnt/gentoo/boot/efi
Montando la partición /dev/sda1 booteo UEFI.
swapon /dev/sda2
Montando la swap /dev/sda2.
mount /dev/sda3 /mnt/gentoo/home
Montando la partición /home /dev/sd3.
mount /dev/sda4 /mnt/gentoo
Montando la partición / (/dev/sda4). El sistema Gentoo Linux en /mnt/gentoo ya que / está siendo usada por el instalador.

BIOS editar

swapon /dev/sda1
Partición swap (/dev/sda1) montada.
mount /dev/sda2 /mnt/gentoo
Montando el sistema Gentoo Linux /dev/sda2 en /mnt/gentoo ya que / está siendo usada por el instalador.
mount /dev/sda3 /mnt/gentoo/home
Montando la partición /mnt/gentoo/home /dev/sda3.

Configurar la fecha editar

13
date
Muestra la fecha
date MMDDhhmmYYYY
Formato: MM mes... DD día... hhmm hora...YYYY año
hwclock --systohc
Reloj del sistema

Descargar y extraer el Stage3 editar

14
cd /mnt/funtoo
Cambiando el directorio a /mnt/gentoo
wget -c https://mirror.bytemark.co.uk/gentoo//releases/amd64/autobuilds/current-stage3-amd64-openrc/stage3-amd64-desktop-openrc-20220821T170533Z.tar.xz
Descargando el Stage 3 amd64 dekptop openrc.
tar xpvf stage3-amd64-desktop-openrc-20220821T170533Z.tar.xz --xattrs-include='*.*' --numeric-owner
Extrayendo el Stage 3 amd64 dekptop openrc.

Preparaciones para compilación editar

15
grep processor /proc/cpuinfo
processor: 0
processor: 1
processor: 2
processor: 3
processor: 4
processor: 5
processor: 6
processor: 7
Se tienen 8 núcleos: 7+1
Por cada núcleo del procesador 2Gb de memoria RAM
nano /mnt/gentoo/etc/portage/make.conf
COMMON_FLAGS="-march=native -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
USE="python"
MAKEOPTS="-j8"
ACCEPT_LICENSE="*" 
LINGUAS="es" 
L10N="es_CL" 
VIDEO_CARDS="'fbdev vesa intel i915 nvidia nouveau radeon amdgpu radeonsi virtualbox vmware" 
INPUT_DEVICES="libinput synaptics keyboard mouse evdev jokstick wacom" 
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --quiet-build=y"
Agregando (-j8, el 8 corresponde a los núcleos del CPU)
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Seleccionamos mirror para descargar actualizaciones y paquetes.
Podemos ver como quedó con el comando: cat /mnt/gentoo/etc/portage/make.conf
/mnt/gentoo/etc/portage/make.conf
GENTOO_MIRRORS_="http... rsync:>...
Tras seleccionar los mirror de la lista, se agregó una línea en /mnt/gentoo/etc/portage/make.conf, que es lo que aparecerá.

Preparando los repositorios editar

16
mkdir -p /mnt/gentoo/etc/portage/repos.conf
Crear directorio para los repositorios
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Copiar la configuración de repos.conf a gentoo.conf
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
O bien: cp -L /etc/resolv.conf /mnt/gentoo/etc/
Copiar los servidores de nombre para darle internet al chroot posterior

Trabajando en Chroot editar

17
mount --types proc /proc /mnt/gentoo/proc
(o bien: mount -t proc /proc /mnt/gentoo/proc) mount --rbind /sys/ /mnt/gentoo/sys
(o bien: mount --rbind /sys/ sys/) mount --make-rslave /mnt/gentoo/sys mount --rbind /dev/ /mnt/gentoo/dev
(o bien: mount --rbind /dev/ dev/) mount --make-rslave /mnt/gentoo/dev
Chroot y Montar las particiones proc, sys, dev
mkdir var/db/repos/gentoo
Creando el directorio de los repositorios

Entrando a Chroot #1 editar

18
chroot /mnt/gentoo /bin/bash
Entrando a chroot
env-update && source /etc/profile
Tomar las variables de ambiente que se actualizarán
export PS1="(chroot) ${PS1}"
Cambiar el promt

Descargar árbol de portage editar

19
emerge-webrsync -v
Descargamos un snapshot (instantánea) del árbol de portage.

Sincronizar los paquetes editar

20
emerge --sync
Sincronizar/actualizar los paquetes
O bien: emerge --ask --sync, con --ask te pregunta los paquetes a instalar

Seleccionar el perfil del usuario editar

21
eselect profile list
Seleccionamos un perfil (sin escritorio gráfico)
eselect profile set default/linux/amd64/17.1
Minimo para que menor sea el tiempo de instalacion ([1] versión estable)

Configurando zona horaria editar

22
echo "America/Chile" > /etc/timezone
Configuramos zona horaria
emerge --ask --config sys-libs/timezone-data
Configurar la zona horaria del equipo

Configurar localización editar

23
echo "es_CL.UTF-8 UTF8" >> /etc/locale.gen

locale-gen

Configuramos localizacion de idioma
eselect locale list

eselect locale set 4

Activar el idioma disponible. 4 corresponde a es_CL.uft8 (LANG=es_CL.UTF-8)

Entrando a Chroot #2 editar

24
env-update && source /etc/profile && export PS1="[chroot] $PS1"
Activar las variables de ambiente y generar el promt (cli)

Establecer características de particiones en /etc/fstab editar

25
blkid
Mostrar los atributos como el uuid y el tipo de sistema de archivos de los dispositivos (particiones y volúmenes de almacenamiento).
echo -e "/dev/sda1\t/boot/EFI\tvfat\tnoauto,noatime\t1 2" >> /etc/fstab
echo -e "/dev/sda2\tnome\tswap\tsw\t0 0" >> /etc/fstab
echo -e "/dev/sda3\t/\text4\tnoatime,nodiratime\t0 1" >> /etc/fstab
echo -e "/dev/sda3\t/home\text4\tnoatime,nodiratime\t0 2" >> /etc/fstab
Configuramos montaje de filesystems. \t son tabulaciones.
nano -w /etc/fstab
UUID=05B6-7F24 /boot/EFI vfat defaults 0 0
UUID=ff12839d-aec7-40ec-b181-0e5fed1152a6 none swap sw 0 0 
UUID=75ce9617-cc08-4e47-b4b7-58e9ae0734d3 / ext4 noatime 0 1 
UUID=d99bd65b-ca14-4ab0-882b-77bb50eeeb36 /home ext4 defaults 0 2
Ver lo realizado en /etc/fstab.
Debe ser algo similar a lo que se muestra.

Compilar el núcleo editar

26
emerge -av sys-kernel/gentoo-sources sys-kernel/linux-firmware
Instalamos fuentes manual (preparamos la compilación del núcleo)
emerge --ask sys-apps/pciutils usbutils
Para conocer para detectar el hardware del equipo:
pciutils contiene varias utilidades que se ocupan del bus PCI (principalmente lspci). lspci es una herramienta de detección de hardware para los recursos del sistema conectados al bus PCI.
usbutils es una colección de varias utilidades para consultar el Universal Serial Bus (USB). La utilidad más destacada incluida es lsusb, una herramienta de detección de hardware para los recursos del sistema conectados al bus serie universal.
emerge app-admin/mcelog
Para buscar los log del equipo
emerge -a app-portage/cpuid2cpuflags
Para poder optimizar la compilación
mkdir /etc/portage/package.license
Crear directorio para las licencias de los paquetes:
echo "sys-kernel/linux-firmware linux-fw-redistributable no-source-code" >> /etc/portage/package.license/custom
Escribiendo las características del firmware de linux en /etc/portage/package.license/custom
El archivo /etc/portage/package.license contiene definiciones para declaraciones ACCEPT_LICENSE por paquete. Algunos paquetes solo podrán instalarse aceptando su licencia. Las licencias se almacenan en /var/db/repos/gentoo/licenses/.

cd /usr/src/linux make mrproper

Cambiando al directorio de las fuentes del núcleo.
Elimina posibles compilaciones con error.

make menuconfig
make localyesconfig

Formas de generar el núcleo:
•Modo manual: make menuconfig
•Modo automatico: make localyesconfig. Y dar Entrar a todo.
make -j8
Para compilar el núcleo según la cantidad de cores: make -j8 (cantidad de cores+1)
make modules_install
Instalar los módulos del núcleo
make install
Para instalar el núcleo

Configurar la red editar

27

nano -w /etc/conf.d/hostname
hostname="NombreDelEquipo"

Nombre del equipo: Forma 1
sed -i 's/localhost/NombreDelEquipo/g' /etc/conf.d/hostname
Nombre del equipo: Forma 2
ifconfig
Ver los dispositivos de red
nano -w /etc/hosts

127.0.0.1 localhost gentoo gentoo.TUNOMBRE

Agregando nombre de localhost.
emerge -a dhcpcd



nano -w /etc/conf.d/net
config_NombreDispositivoEthernet="inet"
routes_NombreDispositivoEthernet="default via 192.168.1.1"
dns_servers="1.1.1.1"

Instalando dhcp para la IP dinamica



Para IP fija se usa nano.
inet es la IP que aparece en la red ethernet
NombreDispositivoEthernet: Puede ser enp4s0 u otra diferente.

nano -w /etc/conf.d/net
config_enp4s0="dhcp"

Nombre de la tarjeta de ethernet. Se ve con ip a
Otra forma: echo 'confconfig_NombreDispositivoEthernet="dhcp"' > /etc/conf.d/net
cd /etc/init.d


ln -s net.lo net.NombreDispositivoEthernet

Activar la tarjeta para tener conexión.

Instalar y configurar GRUB editar

28
nano /etc/portage/make.conf

.
.
.
GRUB_PLATFORMS="efi-64"

Configurar GRUB2
Bajar hasta antes de python, y agregar: "efi-64"
emerge --ask sys-boot/grub
Descargar GRUB
grub-install --target=x86_64-efi --efi-directory=/boot/EFI (modo UEFI)
Instalar GRUB UEFI
grub-install /dev/sda
Instalar GRUB MBR
grub-mkconfig -o /boot/grub/grub.cfg
Configurar GRUB para generar el archivo de configuración de GRUB.

Instalar paquetes de red editar

29
emerge --ask sys-apps/iproute2 net-misc/dhcpcd net-wireless/wireless-tools net-wireless/iw
Instalar paquetes de red de todos los tipos

Usuarios y Contraseñas editar

30
passwd
Contraseña de root en chroot
useradd -m USUARIO
Agregando al usuario
passwd USUARIO
Agregando contraseña del usuario
usermod -g users -G wheel,portage,audio,video,usb,cdrom -m -s /bin/bash USUARIO
Modificado características del usuario creado

Salir de Chroot #1 y #2 editar

31

exit

Salir de Chroot #1

exit

Salir de Chroot #2

Eliminar los paquetes no requeridos tras compilación editar

32
rm -f /mnt/gentoo/*.tar.xz
Se remieven los paquetes no requeridos tras la compilación en /mnt/gentoo

Desmontar las particiones editar

33
cd
Volviendo a la carpeta raíz (/)
umount -R /mnt/gentoo
Desmontar de forma recursiva las particiones (Forma 1).

umount -l gentoo/sys
umount -l gentoo/dev{/pts,/shm}
umount -R gentoo/

Desmontar las particiones (Forma 2).
swapoff /dev/sda2
Desmontar partición de intercambio (swap)

Finalizar instalación editar

34
reboot
Reiniciar el equipo, finalizando la instalación.