Mostrando entradas con la etiqueta GRUB2. Mostrar todas las entradas
Mostrando entradas con la etiqueta GRUB2. Mostrar todas las entradas

viernes, 7 de septiembre de 2012

systemd, reemplazo de sysvinit

En los sistemas UNIX el primer proceso que se crea y se encarga de inicializar el resto de procesos se le conoce como init. Desde 1980 esta tarea era llevada a cabo por «System V init» (sysvinit). Sin embargo, dado que en sysvinit los servicios se lanzan en un orden determinado y los dispositivos actuales son muy diversos y dinámicos está dejando de ser adecuado para estos tiempos. En el 2006 Canonical desarrollo Upstart con el objetivo de crear un reeemplazo para sysvinit. Upstart es sistema dirigido por eventos de tal forma que cuando ocurre cierta circunstancia se hace alguna acción, como «el dispositivo de red se ha montado», soportando mejor de esta forma la dinamicidad del los sistemas. Upstart parecía el sucesor de sysvinit, sin embargo, la migración de sysvinit a un sistema dirigido por eventos como upstart no es sencilla.

systemd fue lanzado en 2010 por Lennart Poettering, conocido también por desarrollar pulseaudio, también como un reemplazo de sysvinit. systemd está comenzando a reemplazar a sysvinit como el proceso encargado de arrancar el sistema en varias distribuciones como Fedora, openSUSE, Mandriva y Arch Linux por varias de sus características.

systemd activa todos los sockets que utilizan los procesos para comunicarse antes de que ninguno sea arrancado de forma que estén disponibles para cuando lo hagan, una vez inicializados los sockets systemd inicia todos los procesos en paralelo sin ningún orden preestablecido o bajo demanda cuando se envía un mensaje a su socket. Cuando un proceso necesita de otro se comunica a través de los sockets, si el proceso destinatario aún no no está disponible para recibir el mensaje systemd lo encola para que no se pierda y lo despacha cuando el proceso destintario está disponible. De esta forma se consigue un paralelismo total entre los procesos que inician el sistema.

Aqui una comparativa de sysvinit, upstart y systemd:


Si quieres conocer más acerca de systemd te recomiendo leer el siguiente excelente artículo y la documentación incluida en su referencia parte de la cual está en el apartado de referencia, también algunas de las ventajas puestas en un post del los foros de arch linux que independientemente de las mejoras de tiempos (esto igual es lo menos importante de systemd) están que los servicios pueden ser proporcionados por los proyectos originales en vez de ser cada distribución la que los desarrolle y la no necesidad de configurar explícitamente las dependencias.

Si usas Arch Linux y has echo una actualizanción completa hace menos de una semana ya tendrás todo lo necesario para iniciar el sistema con systemd y realizar la migración. Los pasos serán los siguientes:

  • Lo primero será adaptar los archivos de configuración a systemd. Basicamente lo que antes estaba en el archivo /etc/rc.conf ahora está separado en varios archivos.
  • También hay que indicar a systemd los servicios que queremos arrancar con el sistema a través de «systemctl enable [servicio].service», para ello miraremos la lista de DAEMONS del archivo en /etc.rc.conf e iremos habilitando su correspondiente en systemd.
  • Luego iniciaremos el sistema con systemd añadiendo en la linea de comando del kernel init=/bin/systemd y quitando la opción quiet para ver las trazas y si se produce algún error. Esto se puede hacer sin modificar ningún archivo desde grub2 editando la entrada con la tecla «e» y una vez modificada la linea de comando pulsando F10.
  • Finalmente, si todo ha ido correctamente en el inicio con systemd podremos eliminar el paquete initscripts e instalar systemd-sysvcompat con lo que tendremos un sistema puro de systemd.

Pero antes de nada es muy recomendable leer algo de documentación sobre lo que se va a hacer empezando por la wiki de arch linux sobre systemd. Decir que aún hay algunos programas que no tienen su correspondiente .service para iniciarlo desde systemd pero se solucionará con el tiempo.

Después de todo veremos a systemd como el proceso con PID 1:


Referencia:
http://freedesktop.org/wiki/Software/systemd
http://en.wikipedia.org/wiki/Systemd
http://diegocg.blogspot.com.es/2010/05/systemd-otro-reemplazo-de-init.html
http://www.h-online.com/open/features/Control-Centre-The-systemd-Linux-init-system-1565543.html
http://0pointer.de/blog/projects/systemd.html
http://0pointer.de/blog/projects/socket-activation.html
http://0pointer.de/blog/projects/socket-activation2.html
http://0pointer.de/blog/projects/why.html
http://gespadas.com/archlinux-systemd
https://bbs.archlinux.org/viewtopic.php?pid=1149530#p1149530

viernes, 20 de mayo de 2011

Guías de instalación Arch Linux actualizadas

 Arch Linux es una distribución rolling release y como tal en constante actualización de sus paquetes. Por ello los manuales o guías de instalación de Arch Linux pueden quedar desactaulizadas en alguna de sus secciones si no son actualizadas cada cierto tiempo. A la hora de instalarlo es recomendable además leer las guías de la propia wiki de Arch Linux ya que en ella la información suele estar actualizada.

Ya hacia un tiempo que no actualizaba las guías de instalación que tengo en mi blog y a pesar de que he ido modificándolas algunas imágenes se habían quedado obsoletas. Hoy les he dado un repaso más a fondo siendo estos los puntos que he modificado:
  • Como de grabar la imagen USB de instalación (dd o UNetbootin y desde Windows).
  • Particiones a crear en el disco durante la instalación base.
  • Instalar GRUB 2 durante el sistema base en una única partición Ext4.
  • Apartado actualizado sobre Gnome 3.
  • Añadidas algunas nuevos programas a la lista de los más comunes.
  • Actualización de las imágenes de las guías e incorporación en ellas de marcas de agua.
  • Y otras pequeñas modificaciones que he ido haciendo desde que las cree.
Las guías están disponibles en los siguientes enlaces:

Espero que sean útiles para alguien que pretenda instalar Arch Linux en una máquina virtual o directamente sobre el metal. ¡A disfrutarlas!

viernes, 12 de febrero de 2010

Configurar GRUB 2 en modo gráfico

Continuando con esta serie de entradas sobre personalización (ver referencia), ahora vamos a darle un nuevo aspecto a la primera pantalla que vemos según arrancamos el ordenador. Para ello, vamos a configurar GRUB 2 para que se muestre en modo gráfico, en vez del modo texto por defecto, y cambiaremos el fondo de pantalla utilizado en el menú de selección de sistema operativo.

Para iniciar GRUB 2 en modo gŕafico debemos insertar las siguientes lineas de código al principio del archivo «/boot/grub/grub.cfg». En el ejemplo, se configura la resolución de la pantalla con «gfxmode» en 1024x768 a 32 bits de color. Lo ideal es seleccionar la resolución nativa de nuestro monitor ya que esta será la que mejor se vea, sobre todo si tenéis pantallas LCD o TFT.

Mediante «background_image» se indica la imagen de fondo y antes con «insmod» se indica el modulo necesario para cargar el tipo de imagen (png para una imagen png, jpeg para una imagen jpeg, ...). La imagen de fondo lo ideal es que tenga el mismo tamaño que la resolución de la pantalla escogida sino sólo se mostrará lo que quepa de la parte superior izquierda de la imagen. El archivo unicode.pf2 se puede copiar desde /usr/share/grub/.

insmod font
if loadfont /grub/unicode.pf2 ; then
  set gfxmode="1024x768x32"
  insmod gfxterm
  insmod vbe
  terminal_output gfxterm
  if terminal_output gfxterm; then true ; else
    terminal gfxterm
  fi
fi
insmod png
background_image /grub/backgrounds/archlinux.png

También podemos hacer que una vez se selecciona el sistema operativo los mensajes de inicio se visualicen en una consola gráfica con framebuffer. Para esto debemos añadir el comando «gfxpayload» con la resolución del framebuffer antes del comando «linux». Al final nos quedará en cada menuentry algo como esto:

menuentry "Arch Linux" {
  gfxpayload=1024x768x24
  linux /vmlinuz26 root=/dev/disk/by-uuid/2b0bbed6-17f9-4fa4-b45e-991d17c26896 ro
  initrd /kernel26.img
}

Para consultar los modos de tu tarjeta gráfica puedes instalar el paquete hwinfo desde AUR (en Arch Linux) y ejecutar:

# hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer
  [Created at bios.459]
  Unique ID: rdCR.y65X0qfNL88
  Hardware Class: framebuffer
  Model: "Sun Microsystems VirtualBox VBE Adapter"
  Vendor: "Sun Microsystems, Inc."
  Device: "VirtualBox VBE Adapter"
  SubVendor: "VirtualBox VBE BIOS http://www.virtualbox.org/"
  SubDevice: 
  Revision: "Sun VirtualBox Version 3.1.2"
  Memory Size: 64 MB
  Memory Range: 0xe0000000-0xe3ffffff (rw)
  Mode 0x0300: 640x400 (+640), 8 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+800), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x030d: 320x200 (+640), 15 bits
  Mode 0x030e: 320x200 (+640), 16 bits
  Mode 0x030f: 320x200 (+960), 24 bits
  Mode 0x0310: 640x480 (+1280), 15 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+1920), 24 bits
  Mode 0x0313: 800x600 (+1600), 15 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+2400), 24 bits
  Mode 0x0316: 1024x768 (+2048), 15 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+3072), 24 bits
  Mode 0x0319: 1280x1024 (+2560), 15 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+3840), 24 bits
  Mode 0x0340: 320x200 (+1280), 24 bits
  Mode 0x0341: 640x400 (+2560), 24 bits
  Mode 0x0342: 640x480 (+2560), 24 bits
  Mode 0x0343: 800x600 (+3200), 24 bits
  Mode 0x0344: 1024x768 (+4096), 24 bits
  Mode 0x0345: 1280x1024 (+5120), 24 bits
  Mode 0x0346: 320x200 (+320), 8 bits
  Mode 0x0347: 1600x1200 (+6400), 24 bits
  Mode 0x0348: 1152x864 (+1152), 8 bits
  Mode 0x0349: 1152x864 (+2304), 15 bits
  Mode 0x034a: 1152x864 (+2304), 16 bits
  Mode 0x034b: 1152x864 (+3456), 24 bits
  Mode 0x034c: 1152x864 (+4608), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Realizando estas modificaciones a nuestro inicio del sistema conseguimos que GRUB 2 y la consola con los mensajes del inicio del sistema se vean de esta forma:


Si te ha servido de ayuda deja un comentario y si te es posible un enlace con una captura de pantalla mostrando como se ve ahora tu inicio del sistema.


Actualización (13-06-2010): La forma de configurar GRUB 2 ha cambiado desde hace un tiempo consulta el apartado Configuration en la wiki de Arch sobre GRUB2 para ver como se hace ahora, que por lo que veo es bastante más sencillo, automático y menos propenso a errores.

Referencia:
Cambiar el fondo de pantalla de GDM
Cambiar el fondo del diálogo de bloqueo en GNOME
http://foro.archlinux.cl/viewtopic.php?id=12