Ir al contenido

Instalar en disco

La ISO live funciona desde un medio de solo lectura: los cambios se pierden al apagar. Para conservar un sistema, instálalo en un disco con setup, el instalador heredado de MINIX 3, o construye una imagen de disco desde el código fuente. Esta página cubre las dos vías y los primeros pasos en el sistema instalado.

MínimoNotas
CPUx86-64 con FSGSBASEIntel desde Ivy Bridge (2012); AMD Zen y posteriores. En Linux: grep -o fsgsbase /proc/cpuinfo. Se aprovechan NX, SMEP, SMAP y PCID si existen. Hasta 32 CPU.
RAM[RAM]El escritorio necesita más: [RAM_DESKTOP]. Se admite RAM por encima de 4 GB.
Disco[DISK]Una partición primaria MBR; setup comprueba el tamaño que necesita.
Controladora de discoAHCI (SATA), IDE, NVMeEl ramdisk de arranque elige AHCI o IDE sondeando el PCI. NVMe necesita el modo APIC, que es el de por defecto. virtio_blk se compila, pero no se ha probado en amd64.
Tarjeta de redFamilia Intel e1000La más probada. Las demás, en Red.
USBSolo almacenamiento masivoControladoras EHCI, OHCI y xHCI, también detrás de hubs. No hay teclado ni ratón USB: usa PS/2 (o el emulado en una VM).
FirmwareBIOS para un disco instalado; BIOS o UEFI para la ISOSin Secure Boot.

Máquinas físicas verificadas hasta ahora: [HARDWARE]. Casi todas las pruebas se hacen en QEMU/KVM.

Crea un disco virtual y arranca la ISO con él conectado. La máquina por defecto de QEMU (pc) pone ambos en la controladora IDE, lo que simplifica los nombres de dispositivo: el disco es c0d0 y el CD, c0d2.

Ventana de terminal
qemu-img create -f qcow2 ixolo.qcow2 8G
qemu-system-x86_64 -enable-kvm -cpu host -m 2G \
-drive file=ixolo.qcow2,format=qcow2,if=ide \
-cdrom ixolo-[VERSION]-amd64.iso -boot d

Entra como root (el sistema live no tiene contraseña) y sigue.

setup es un script de shell (/bin/setup, código en minix/commands/setup/setup.sh). Usa una partición primaria del disco y la divide en tres subparticiones:

SubparticiónPunto de montajeTamañoSistema de ficheros
s0/128 MBMFS
s1/homeel que elijas (por defecto, el 20 % de lo que queda)MFS
s2/usrel restoMFS

Para c0d0p0 (primera partición primaria del primer disco) la raíz es /dev/c0d0p0s0. mkfs.mfs crea ahora por defecto MFS versión 4 con journal de metadatos, así que un fallo no deja el sistema de ficheros necesitado de una reparación larga. Consulta Sistemas de ficheros.

Por el fallo de rutas de arriba, ejecuta una copia corregida del script. En el sistema live /tmp es escribible:

Ventana de terminal
sed 's,/i386/binary/sets,/amd64/binary/sets,g' /bin/setup > /tmp/setup
sh /tmp/setup

Pulsa Intro para aceptar la respuesta por defecto. Los pasos son:

  1. Teclado. Un mapa de /usr/lib/keymaps (por defecto us-std; para un teclado español, spanish). Se copia a /etc/keymap en el sistema nuevo.
  2. Distribución. Siempre la completa; no hay nada que elegir.
  3. Partición. Pulsa Intro para el modo automático: autopart muestra los discos y te deja elegir o crear una partición. Escribe expert para usar tú mismo el editor part. A partir de aquí no hay vuelta atrás.
  4. Reinstalación. Solo si la partición ya tiene una instalación: R conserva /home y reescribe el resto; F lo borra todo.
  5. Tamaño de /home en MB. 0 significa sin /home separado.
  6. Tamaño de bloque, de 1 a 64 kB (por defecto 4 kB). Deja el valor por defecto.
  7. Copia de ficheros. Se desempaquetan los conjuntos en los sistemas de ficheros nuevos, se crean los nodos de dispositivo, se instala el bloque de arranque BIOS y se genera /boot.cfg.
  8. Red. setup ejecuta netconf -p /mnt para configurar una interfaz; ver Red. Puedes saltarlo y ejecutar netconf más tarde.
  9. Contraseña de root. Se escribe dos veces; no puede estar vacía ni empezar o acabar con espacios. Se guarda como hash bcrypt ($2a$10$…) en /etc/master.passwd. Los medios live siguen entrando sin contraseña; el sistema instalado, no.

Es normal un mensaje final sobre que se omite pkgin: la ISO no lleva repositorio de paquetes (ver La shell y el software).

Apaga y vuelve a arrancar la VM sin la ISO:

Ventana de terminal
poweroff
Ventana de terminal
qemu-system-x86_64 -enable-kvm -cpu host -m 2G \
-drive file=ixolo.qcow2,format=qcow2,if=ide

El menú de arranque sale de /boot.cfg, que update_bootcfg construye a partir de /etc/boot.cfg.default. Tiene entradas para el núcleo instalado, para el modo monousuario y una opción Edit menu option para cambiar la línea de órdenes del núcleo. Entra como root con la contraseña del paso 9.

Si compilas Ixolo desde el código fuente (Compilar), releasetools/amd64_hdimage.sh escribe una imagen de disco BIOS arrancable sin pasar por setup:

Ventana de terminal
OBJ=obj.amd64 bash releasetools/amd64_hdimage.sh # -> minix_amd64.img
qemu-system-x86_64 -enable-kvm -cpu host -m 2G \
-drive file=minix_amd64.img,format=raw

La imagen ocupa unos 2 GB: 128 MB de raíz, 1,75 GB de /usr y 128 MB de /home. A diferencia de setup, los pone en tres particiones primarias: / en /dev/c0d0p0, /usr en c0d0p1 y /home en c0d0p2. Lleva más conjuntos que la ISO: minix-comp (cabeceras, bibliotecas y, salvo que compilaras con MKLLVMCMDS=no, el clang nativo), minix-games y los tests. Su menú tiene además una entrada legacy PIC mode para máquinas que no se llevan bien con el APIC. En esta imagen root no tiene contraseña: pon una con passwd nada más entrar.

VíaEstado
ISO, BIOSFunciona.
ISO, UEFI (GRUB)Funciona, en -machine pc (IDE) y -machine q35 (AHCI).
Disco instalado con setup, BIOSMBR, el bloque de arranque bootxx_minixfs3 y el monitor de arranque de MINIX, como en la imagen de disco. No verificado de principio a fin en amd64 (ver el fallo de setup arriba).
Imagen de disco de amd64_hdimage.sh, BIOSFunciona; es como se ha usado el sistema con una raíz MFS escribible. No la cubre la CI.
Imagen GPT de amd64_gptimage.sh, UEFIAún no es usable. GRUB, el núcleo y el montaje de la raíz funcionan, pero docs/UEFI_BOOT.md documenta un bloqueo al final de /etc/rc, antes del login, en esta imagen.
Secure BootNo soportado.

El núcleo lee tablas de particiones MBR, no GPT: la imagen GPT funciona gracias a un MBR híbrido. Las notas de diseño están en Arranque UEFI.

El nombre se guarda en /etc/hostname.file (por defecto minix) y se aplica al arrancar:

Ventana de terminal
echo mibox > /etc/hostname.file
hostname mibox

/etc/profile fija TZ=GMT0 y después lee /etc/rc.timezone si existe. Pon ahí tu zona, con un nombre de /usr/share/zoneinfo:

Ventana de terminal
echo 'export TZ=Europe/Madrid' > /etc/rc.timezone

Se aplica a las nuevas shells de login.

Trabaja con un usuario normal y reserva root para administrar. Las herramientas de usuarios de NetBSD están en el sistema base:

Ventana de terminal
useradd -m -G wheel alicia # -m crea /home/alicia
passwd alicia

Los miembros de wheel pueden hacerse root con su. Las contraseñas nuevas se guardan por defecto con bcrypt (/etc/passwd.conf).

Si te saltaste el paso 8, ejecuta ahora netconf y elige DHCP o una dirección fija. Escribe /etc/ifconfig.<interfaz>; aplícalo con:

Ventana de terminal
service network restart

Detalles, direcciones fijas e IPv6: Red.

OpenSSH 10.6 está en el sistema base, pero desactivado. Actívalo en /etc/rc.conf y arráncalo; las claves de máquina se generan en el primer arranque del servicio:

Ventana de terminal
echo sshd=YES >> /etc/rc.conf
service sshd start

root solo puede entrar por SSH con clave, como en OpenSSH estándar. Entra con tu usuario y usa su.

Los demonios son scripts rc.d de NetBSD que se configuran en /etc/rc.conf; los servidores y drivers del sistema los gestiona RS. Consulta Servicios y Sistemas de ficheros.