NOTA:
Esta entrada ya no va a ser editada con los muy posibles futuros cambios en el instalador de ArcLinux, para ello pongo a disposicion una seccion completa de instalacion del sistema base aqui

Llego la hora de actualizar la pequeña guia de instalacion posteada aqui en otros tiempos sobre la instalacion de archlinux, esta guia toma partes de la guia anterior para no tener que re escribir todo desde el principio, sin decir mas, manos a la obra. Descargamos la ISO de archlinux desde aqui, la imagen netinstall sera de arquitectura dual por ser la imagen de instalación en red que tiene soporte para las 2 arquitecturas de ArchLinux: 32 bits (i686) y 64 bits (x86_64). La grabamos en cd y reiniciamos el equipo con el LiveCD, aparecerá este menú:

Donde las opciones son:

  • Boot ArchLinux – que es iniciar el livecd de arch linux y iniciar la instalacion.
  • Boot Existing OS – Ignorar el Livecd y iniciar el sistema operativo del disco duro si existe.
  • Run Memtest86+ (RAM test) – Es un testeo de integridad de  la memoria Ram del equipo Run x86 test (CPU test) – Es un testeo de la integridad del cpu del equipo.
  • Reboot – Reiniciar. Iniciamos con boot ArchLinux, esto nos llevara a la shell del live de ArchLinux.

Empezamos con definiendo la distribucion del teclado loadkeys es NOTA: No voy a incluir muchas capturas de pantalla de los comandos de instalacion a menos que sea necesario o tenga una salida que el usuario tenga que procesar o leer. Enseguida procedemos a conectar a la red.

dhcpcd eth0

NOTA: esta instalación de ArchLinux corre bajo la suposicion de que tenemos una conexion a internet por interfa cableada, si podemos configurar nuestro dispositivo inalambrico (si es intel) en el medio live y conectarnos a la wireless para instalar, aqui la referencia sobre como configurar wireless, prosigo con eth0 para ahorrar tiempo. La salida de dhcpcd seria algo parecido a esto: Probamos la configuración de red con un simple ping a google:

ping -c4 www.google.com

Si nos responde, entonces vamos bien, vamos al particionado.

Particionando discos

Seleccionamos nuestro disco duro, nos dará un menú para revisar que partición de disco queremos formatear, escogemos la partición o disco duro deseado y continuamos. Se nos advierte que va a empezar la utilería cfdisk, que se van a manejar y cambiar particiones y sistemas de archivos y se recomienda un respaldo de información antes de trabajar con cualquier disco duro. Particionado con cfdisk Cfdisk es una herramienta de línea de comandos de particionado de discos duros, a primera vista parece complicado pero en realidad no lo es, se maneja con las flechas del teclado y con la tecla Enter, se revisan todos los cambios antes de escribirlos realmente en disco duro. Se explicara un particionado básico para una instalación de ArchLinux (o de cualquier otra distribución también). Si  tenemos un disco duro o una partición en limpio la primera pantalla de cfdisk aparecerá algo así: Con la flecha a la derecha nos movemos al menú New, y presionamos enter. Nos preguntara si nuestra partición será primaria, lógica o cancelar la operación Seleccionamos de tipo primario. Presionamos enter y nos preguntara el tamaño de la partición Nos preguntara si al inicio o al final de los sectores del disco duro queremos poner esta nueva partición, será siempre al inicio. Escogida la nueva partición creada con las flechas del teclado nos dirigimos hacia la derecha hasta el menú type y damos enter, se nos dará una lista de tipos de sistemas de archivos a escoger, al ser esta la partición de intercambio (swap) tecleamos 82 Con flecha hacia abajo nos dirigimos al siguiente espacio en blanco (Free Space)  y del menú inferior escogemos Nuevo (New), enter.

  • Tipo Primaria (primary)
  • Tamaño: a partir de 10240 MB (esta partición será utilizada para root (/)
  • Ubicación Al inicio (Beginning)
  • En el menú inferior escogemos la opción Bootable (arrancable) y configuramos la nueva partición como partición de arranque.
  • Seguido del tipo que esta vez será 83, tipo de sistema de archivos Linux

Por último la tercer partición que será el /home de donde se colgara el usuario

  • Con flecha hacia abajo nos dirigimos al siguiente espacio en blanco (Free Space)  y del menú inferior escogemos Nuevo (New), enter.
  • Tipo Primaria (primary)
  • Tamaño: Enter (todo el espacio en blanco disponible)
  • Ubicación Al inicio (Beginning)

Quedara un sistema de archivos parecido a esto: Por último navegamos hasta la ultima opción a la derecha que es escribir los datos en disco (write) nos pedirá confirmación, escribimos “yes” y presionamos enter.

Formateo y puntos de montaje

Una vez creadas las particiones necesarias para instalar ArchLinux procedemos a formatear estas particiones y definir sus puntos de montaje.

Creamos el sistema de archivos swap: mkswap /dev/sda1

Activamos dicha swap swapon /dev/sda1

Formatear la particion raiz como EXT4. mkfs.ext4 /dev/sda2

Montamos la particion raiz en el directorio temporal /mnt: mount dev/sda2 /mnt

Formateamos la particion home como EXT4. mkfs.ext4 /dev/sda3

Creamos el directorio de montaje de home: mkdir /mnt/home

Y montamos el home mount dev/sda3 /mnt/homeListo, ya podemos instalar.

Instalación del sistema base

Antes que anda debemos echar un vistazo al archivo /etc/pacman.d/mirrorlist, este archivo es la lista de servidores espejo de donde pacman descargara paquetes para la instalacion, pero aparte este archivo se instalara tal cual durante este procesod e instalacion, asi que vale darle una verificada, a pesar de que la configuracion default es muy funcional para el usuario promedio.Mas sobre los mirrors de archlinux aqui

Utilizaremos pacstrap que es un sencillo script que nos ayudara a instalar los paquetes del sistema base cambiando la ubicación de la partición raíz e instalar en disco en vez del medio live.

Instalamos el sistema base y base-devel

pacstrap /mnt base base-devel

Esto instalara el sistema base de ArchLinux, nada mas y nada menos. A diferencia de la instalacion guiada de las otras ISOs aqui no hay seleccion extra de paquetes y reside mucho en el hecho de que el usuario sepa que es lo que quiere o necesita instalar. Aun asi, algunos paquetes extra (o todo el sistema de hecho) se puede instalar con el comando pacstrap, algunos de los recomendables son:

  • b43-fwcutter – Drivers Para inalámbricas broadcomm
  • dbus-core systemd-tools. Sistema de gestión de llamadas dbus
  • libusb linusbx, soporte para dispositivos USB
  • linux-api-headers Cabeceras del kernel Linux
  • linux-atm, drivers del kernel para redes ATM
  • linux-firmware. Firmware soportado por el kernel Linux
  • linux-headers. Cabeceras del kernel Linux
  • mkinitcpio Utilidad para la creación de imágenes de arranque
  • net-tools. Herramientas de red
  • netcfg. Herramienta para la configuración de red
  • openssh. Cliente servidor de ssh
  • pacman-mirrorlist. Lista de servidores espejo de pacman
  • sudo. Herramienta para súper usuario
  • wireless-regdb wireless_tools wpa_actiond. Herramientas de configuration wireless

Instalamos tambien el gestor de arranque grub, que ya instalara grub2 como lo comentaba antes, este se configurara despues.

pacstrap /mnt grub2-bios os-prober

Como parte opcional instalamos algunas herramientas de interfaz inalambrica que nos servirán después:

pacstrap /mnt wireless_tools netcfg wpa_supplicant wpa_actiond

Procedemos a la ultima parte de la instalación del sistema base.

Configurar el sistema

Primero que nada configuramos el archivo de edicion de puntos de montaje el /etc/fstab para esto generamos un fstab a aprtir del medio Live:

genfstab -p >> /mnt/etc/fstab

Nos dara un fstab algo sucio como este:

Eliminamos las lineas /dev/mapper por que son los puntos de montaje del medio Live, si los dejamos a la hora de iniciar nuestro sistema tendremos un error por no poder montar estos directorios. Luego eliminamos las lineas comentadas del UUID de las particiones, por que no los necesitamos. por ultimo, por una razón que desconozco la partición swap no viene bien definido el punto de montaje, la particion y el tipo de sstema de archivos, la aprticion swap quedara algo asi:

/dev/sda1 swap swap defaults 0 0

Donde /sda1 es la partición que hicimos como swap, el directorio de montaje se define como swap, el tipo es swap, las opciones de montaje default y los flags de pass en ceros 0, 0 El fstab quedaría algo así: Ahora hacemos chroot hacia nuestro nuevo sistema instalado

arch-chroot /mnt

Primero editamos el hostname, o el nombre de nuestro equipo. Aclaro que este se definia en el archivo /etc/rc.conf pero este metodo sera depreciado a futuro asi que se hace de la siguiente forma: Aregramos el hostname en el archivo /etc/hostname asi:

 arch-nueva-instalacion

Ese mismo nombre de hostname lo agregamos al archivo /etc/hosts, quedando asi:

127.0.0.1   localhost.localdomain   localhost arch-nueva-instalacion
::1         localhost.localdomain   localhost arch-nueva-instalacion

Hacemos un enlace simbolico a nuestra zona horaria ubicada en /usr/share/zoneinfo/Zona/SubZona:

 ln -s /usr/share/zoneinfo/Europe/Athens /etc/localtime

Por ejemplo para mi quedo algo asi:

 ln -s /usr/share/zoneinfo/America/Chihuahua/etc/localtime  

/etc/rc.conf

El archivo rc.conf se manejaba como el archivo principal de configuración del sistema,  ahora sera utilizado  para configurar los servicios del sistema o demonios que queremos que inicien por default, editaremos en la lista DAEMONS los demonios o servicios que inician con el sistema, inician en modo cronológico.

DAEMONS=(syslog-ng dbus networkmanager crond @alsa @sshd @samba @laptop-mode @preload @cupsd ...)

Fuente de consola y mapa del teclado

Creamos el archivo /etc/vconsole.conf

touch /etc/vconsole.conf

Y luego lo editamos con los siguientes parametros:

  • KEYMAP los mapas de teclado disponibles estan en /usr/share/kbd/keymaps, esta configuracion es valida solo para las TTY y no para el entorno grafico
  • FONT Las fuentes disponibles estan en /usr/share/kbd/consolefonts/, dejarlo en blanco es seguro
  • FONT_MAP Define el mapa de caracteres a cargar en consola, es seguro dejar esta entrada en blanco si no requerimos caracteres especiales en consola (si hablas español no los necesitas)
KEYMAP=la-latin1
FONT=
FONT_MAP=

El keymap “la-latin1” es para teclados en español de latinoamerica, si es tecaldo español españa-internacional es solamente “es”

Zona Horaria

Creamos el archivo /etc/timezone

touch /etc/timezone

Y lo editamos escribiendo nuestra zona/subzona, esto se puede saber averguando nuestra zona global y regional en el directorio /usr/share/zoneinfo/ el mio queda asi:

America/Chihuahua

Leyendo el manual de timezone podemos ver mas opciones detalladas: man timezone

Tambien tenemos que hacer un enlace simbolico de esta zona horaria a /etc/localtime, el mio queda asi:

ln -s /usr/share/zoneinfo/America/Chihuahua /etc/localtime

Configuración de local

La configuración de local se utiliza para generar menús y textos en el idioma y regionalizacion local del sistema, así se puede utilizar caracteres especiales o acentos en los menúes y textos de los programas. El comando /usr/sbin/locale-gen lee la configuración de /etc/locale.gen para generar estos específicos locales. Mas info aquí

Simplemente seleccionamos los locales que deseemos descomentando la linea de dicho local (quitando el signo de # al inicio de la linea), del archivo /etc/locale.gen, el mio queda asi:

es_MX.UTF-8 UTF-8  
es_MX ISO-8859-1

Al terminar de escoger nuestros locales, tenemos que actualizar dicha lista con:

locale-gen

Si hay algun error de configuracion en el locale.gen nos avisara con un mensaje diciendo que ese local es invalido, vale revisar de nuevo el locale.gen.

Configurando el local para el resto del sistema

Hay que establecer las preferencias de los locales en el /etc/locale.conf.

Los siguientes parámetros pueden ser utilizados en el /etc/locale.conf: LANG=, LANGUAGE=, LC_CTYPE=, LC_NUMERIC=, LC_TIME=, LC_COLLATE=, LC_MONETARY=, LC_MESSAGES=, LC_PAPER=, LC_NAME=, LC_ADDRESS=, LC_TELEPHONE=, LC_MEASUREMENT=, LC_IDENTIFICATION=. Cualquier duda podemos encontrar claras definiciones en el manual de locale: man locale

La configuración recomendada es (obviamente respetando la configuración de idioma de su país):

LANG=es_MX.UTF-8
LC_COLLATE=C

S
eguido hacemos que la shell actual lea esta nueva configuracion de local:

source /etc/locale.conf

Reloj del sistema

Si utilizamos un sistema de arranque dual es necesario configurar el reloj del sistema entre los distintos sistemas operativos, es por esto que no se recomienda configurar el reloj del sistema a LOCALTIME por posibles problemas con fechas en archivos y se recomienda sobre todo el uso de UTC

Podemos generar el archivo que maneja el reloj de hardware /etc/adjtime con los siguientes comandos:

UTC (recomendado)
hwclock --systohc --utc

NOTA: utilizar UTC en el reloj del hardware no significa que tambien sera usado en el reloj del software.

localtime (no recomendado, proximo a ser descontinuado) usado por versiones viejas de Windows pre vista

hwclock --systohc --localtime

Modules del kernel

Normalmente de esto se encarga udev por si solo, pero hay casos en donde se tienen que cargar manualmente ciertos modulos especificos o modificados del kernel.

Si acaso sabemos que necesitamos esta especifica opcion editamos dentro del directorio /etc/modules-load.d/ que modulos se cargarancon archivos al estilo de /etc/modules-load.d/programa.conf, este archivo simplemente listara los modulos a cargar, ejemplo:

cat /etc/modules-load.d/virtio-net.conf

# Load virtio-net.ko at boot
virtio-net

Configurar red

Ahora hay que configurar la red para el sistema recien instalado. Para informacion mas detallada sobre la configuracion de red, favor de consultar la wiki sobre configuracion de red

Si es interfaz cableada con direccion IP por DHCP, podemos utilizar el daemon de network en el /etc/rc.conf:

DAEMONS=(... network ...)

Luego configurar la seccion de NETWORK de ese mismo archivo de la siguiente forma:

interface=eth0
address=
netmask=
gateway=

Para red cableada estatica:

interface=eth0
address=192.168.0.2
netmask=255.255.255.0
broadcast=192.168.0.255
gateway=192.168.0.1

Tambien se deberan configurar los servidores DNS en el archivo /etc/resolv.conf

nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com

La configuracion de la interfaz inalambrica se puede ver en el wireless setup en la wiki de archlinux

Creación de imagen de arranque

El archivo /etc/mkinitcpio.conf te permite ajustar el sistema de archivos de RAM inicial (también conocido históricamente como el ramdisk inicial o “initrd”) para tu sistema. El initramfs es una imagen gzippeada que es leída por el kernel durante el arranque del sistema. El propósito de el initramfs es arrancar el sistema al punto donde pueda obtener acceso al sistema de archivos de root. Más info

Creamos el RAMDisk inicial con:

mkinitcpio -p linux

La mayoría de los usuarios están bien con los defaults del archivo /etc/mkinitcpio.conf

Configurar el gestor de arranque

Instalamos el grub en nuestro disco:

grub-install /dev/sda

Para prevenir un mensaje del sistema (inofensivo por cierto):

mkdir -p /boot/grub/locale
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Y creamos el archivo de configuracion del grub:

grub-mkconfig -o /boot/grub/grub.cfg

Mas informacion sobre como instalar y configurar el grub, en uno de mis posts anteriores

 /etc/pacman.conf

Configuración del gestor de paquetes de ArchLinux. Descomentemos las siguientes variables (quitando el # al principio de la línea):

  • UseSyslog. Para utilizar registro del sistema para cambios
  • ShowSize: mostrar el tamaño de los paquetes a descargar/instalar
  • UseDelta: Utilizar metapaquetes de cambios delta, logra paquetes más pequeños y descargas más ligeras
  • TotalDownload: muestra el total de descargado en el avance
  • CheckSpace: verifica el espacio en disco disponible antes de hacer cualquier cambio

Más opciones de pacman.conf aquí

/etc/pacman.d/mirrorlist
Esta es la lista de servidores espejo de donde pacman descargara paquetes habilitamos los repositorios más cercanos a nuestra ubicación (quitando el # del principio de la línea)  si no estamos seguros podemos utilizar los 2 primeros repositorios ANY

Por ultimo password de root En donde escribiremos 2 veces el password de administrador de sistema

Y listo, terminamos de instalar el sistema base de ArchLinux. Por ultimo desmontamos el sistema de archivos

umount /mnt/

Y reiniciamos

reboot

Al reiniciar ṕodemos instalar y configurar un entorno grafico manualmente como lo postee aqui y utilziar un script apra que automatize todo como escribi aqui