FAQ de Plan 9 en URJC

Cómo entro y salgo de la cuenta de Plan 9 en el laboratorio

Primero reinica el PC que uses en el laboratorio. Puedes hacerlo usando la ventana de login de Linux o bien como sigue. Primero pulsa
	control-alt-F2
para ir a una consola de texto de Linux. Luego usa
	control-alt-del
para rearrancarlo.

Cuando estés justo al principio del arranque, en la pantalla de la BIOS, pulsa

	F12
para solicitar arranque por red (PXE).

Debes seleccionar la tarjeta de abajo en el menú de arranque de PXE.

Cuanto te pregunten tu nombre de usuario/password, usa los que obtuviste al abrir la cuenta de Plan 9/Inferno.

Cuando desees salir de Plan 9 puedes resetear el equipo directamente. Recuerda encenderlo de nuevo (si lo apagas) para que arranque Linux.

Primeros pasos

Traspas de primeros pasos en Plan 9. Aquí.
Introducción más completa a Plan 9 en inglés Aquí.
Diferencias básicas entre el C de Plan 9 y el resto. Aquí.
Videos de introducción.
En wmv (para Windows):
Intro plan 9
Sesión rio 1
Sesión rio 2
Sesión acme

En mp4 (otro sistemas):
Intro plan 9
Sesión rio 1
Sesión rio 2
Sesión acme

Como usar el floppy

Ejecutando
   a:
el floppy se monta en el directorio /n/a . Basta usar dicho directorio.

Antes de extraer el floppy, hay que ejecutar

  unmount /n/a
  unmount /n/a:
para desmontarlo, en todas las ventanas en las que lo hayas montado..

Como usar el USB en el laboratorio

Ejecutando
   usbfat:
el USB se monta en el directorio /n/usb . Basta usar dicho directorio.

Antes de extraer el USB, hay que ejecutar

  usbeject
para desmontarlo.

MÁQUINA VIRTUAL CON VIRTUAL BOX

Existen distintos programas de virtualización para poder ejecutar Plan 9 encima de un sistema operativo convencional. Actualmente, la opción más cómoda es Virtual Box, que está disponible para Linux, Mac OS X y Windows, y es gratuito.

Sigue los siguientes pasos para tener una máquina virtual de Virtual Box con un Plan 9 que incluye documentación extra para los alumnos:

  1. Descarga Virtual Box para tu sistema operativo de aquí.
  2. Descarga el paquete VirtualBox Oracle VM VirtualBox Extension Pack desde esa misma página.
  3. Instala el software.
  4. Instala el paquete de extensión.
  5. Si estás instalando en Linux, puede que tengas que añadir tu usuario al grupo vboxusers:
      adduser tu_login vboxusers
    
  6. Descarga la máquina virtual de lsub: plan9alv.tgz.
  7. Descomprime el fichero plan9alv.tgz. Si usas Windows, necesitarás descargar un programa de descompresión. Puedes bajar 7-zip.
  8. Ejecuta Virtual Box y abre la máquina virtual, en el menú:
    Machine -> Add...
    Selecciona el fichero plan9alumniv.vbox del directorio descomprimido.
  9. Arranca la máquina virtual.

En la máquina virtual, podrás encontrar los libros de las asignaturas de SO en $home/doc, y una serie de mini-tutoriales en $home/howto.

MÁQUINA VIRTUAL VX CON PLAN9

Esta máquina virtual sólo funciona en Unix (Linux, MacOS, *BSD), pero es la más completa en cuanto a drivers. Además permite el acceso sencillo a la máquina local. Se puede obtener de:

Aquí.

Ahí no hay fuentes de Plan 9, comandos, etc. Lo que falta se puede obtener:

Aquí.

Otra posibilidad es obtener la iso de Plan 9, montarla y copiarse el raiz en algún sitio.

Tras descomprimir 9vx.tgz, entra en el directorio 9vx/src y descomprime el segundo fichero que has bajado:

cd 9vx/src
tar xvjf 9vx.Linux.gz

Ahora ya puedes ejecutar 9vx:

./9vx.Linux -u glenda -r plan9

Si has descomprimido el segundo fichero en otro sitio, puedes arrancar 9vx indicando la ruta despues del modificador -r.

NOTA: Si al arrancar se queda la pantalla en blanco, presiona intro dos veces. Puedes solucionar este problema ejecutando dentro de 9vx los siguientes comandos:

sed 's/^upas/#upas/g' $home/lib/profile > /tmp/p
mv /tmp/p $home/lib/profile

Desde 9vx, se puede acceder al sistema de ficheros local (el del sistema host) así:

bind -bc '#Z' /n/localhd
ls /n/localhd


Para poder montar el servidor de alumnos, necesitas editar el fichero /lib/ndb/local y añadir estas líneas:

authdom=lab.escet.urjc.es
	auth=caldero.lsub.org


Para montar el servidor de alumnos:
auth/factotum
9fs caldero.lsub.org


Luego, descomprime el paquete con las cosas que faltan. Este paquete te crea al descomprimirlo un directoiro plan9. De aqui te puedes copiar al raiz de la maquina virtual, 9vx-0.12 en el ejemplo de arriba sys/src/cmd, sys/man, sys/include y cualquier otra cosa que puedas necesitar. Aquí se pueden obtener fuentes de la máquina virtual y los drivers.

COPIAR LOS FICHEROS DE PRACTICAS

Para poder copiar las prácticas de la máquina virtual al servidor de alumnos, necesitarás configurar la red y montar tu directorio home del laboratorio. Sigue los pasos detallados más abajo.

También puedes usar el USB de tu máquina huésped y pasar los ficheros manualmente a una máquina del laboratorio usando un pendrive. Mira en el directorio howto.

Si no puedes usar la red ni usar el USB, puedes montar un fichero de imagen de floppy o una partición real del disco duro, o usar un fichero imagen (mira como se hace esto en la máquina virtual que uses), y después copiar los ficheros a tu sistema host, y pasarlo manualmente con un pendrive a una máquina del laboratorio.

Permisos en la máquina virtual

Ojo, la comprobación de permisos está deshabilitada en muchas máquinas virtuales. Si quieres saber si tu programa que comprueba permisos funciona, pruébalo en el laboratorio.

Configurar la red

Antes de nada, asegurate de que tu tarjeta de red está configurada. Lo está si en /net/ether0 ves ficheros:

       /net/ether0/addr
       /net/ether0/clone
       /net/ether0/ifstats
       /net/ether0/stats
       ..

Si tienes un servidor de DHCP en casa (un router adsl multipuesto, p.e.) o si tienes Plan 9 instalado sobre un software de virtualización que ofrezca la IP por DHCP (p.e. QEMU), nada más arrancar Plan 9, la red se configurará automáticamente y se podrá usar sin problemas.

Si quieres asignar una dirección IP estática:

	ip/ipconfig -g TU_GATEWAY  ether /net/ether0 TU_IP  TU_MASCARA
	ndb/dns -r

Acceso remoto al servidor

Si utilizas la imagen que hay en esta página, no necesitas configurar nada, si no, necesitas editar el fichero /lib/ndb/local y añadir estas líneas:

authdom=lab.escet.urjc.es
	auth=caldero.lsub.org


Puedes montar en una shell el servidor de las aulas (caldero en Fuenlabrada) ejecutando el script 9fs seguido del nombre del servidor:

auth/factotum
9fs caldero.lsub.org

Nos pedirá nuestro nombre de usuario y contraseña, las mismas que usamos cuando nos conectamos en la universidad. Si todo va bien, no dice nada y tendremos disponibles los ficheros en /n/caldero.lsub.org.

Si quieres montar el servidor para poder usarlo dentro de Acme, entonces:

  1. Abre un shell nueva y ejecuta
    auth/fgui
    
    Si es necesario autenticarse, lo podras hacer en una ventana aparte.
  2. Ejectuta en Acme
    Local 9fs caldero.lsub.org 
    

Como compilar con tu propio kernel en el laboratorio

No tienes permiso sobre el sistema de ficheros común para escribir, así que hay que usar bind(1) para cambiar el espacio de nombres y dejar que haya un sitio al que copiar los ficheros en el que tengas permiso y que a los scripts y mkfiles les parezca que están en su sitio.

Create en tu home un directorio para esto y estos subdirectorios:

mkdir /usr/$user/misfuentes
cd /usr/$user/misfuentes
% mkdir pc
% mkdir port
% mkdir boot
Haz el bind:
% bind -bc pc /sys/src/9/pc
% bind -bc boot /sys/src/9/boot
% bind -bc port /sys/src/9/port
% ns
....
mount  '#s/rio.paurea.41840' /mnt/wsys 6
mount -b '#s/rio.paurea.41840' /dev 
bind  /sys/src/9/pc /sys/src/9/pc 
bind -bc /usr/yo/misfuentes/pc /sys/src/9/pc 
bind  /sys/src/9/boot /sys/src/9/boot 
bind -bc /usr/yo/misfuentes/dso/boot /sys/src/9/boot 
bind  /sys/src/9/port /sys/src/9/port 
bind -bc /usr/yo/misfuentes/dso/port /sys/src/9/port 
cd /usr/yo/misfuentes/dso

Ve a pc y compila:

cd /sys/src/9/pc
mk 'CONF=pcdisk' 9pcdisk.gz

Antes de salir de tu cuenta, no olvides limpiar:

Ve a pc y compila:

cd /sys/src/9/pc
mk clean

Como arrancar con tu propio kernel en el laboratorio

¡¡¡No hagas esto si no sabes lo que estás haciendo!!!.

El primer paso es borrar la partición antigua y crear una en lugar para arrancar de ella. En el laboratorio hay una partición libre, la tercera que se ha dejado expresamente para esto. Si hay tres particiones, una de linux, una de linuxswap y la tercera que decimos, no dudes en borrarla. Si hay dos o menos, pregúntale a antonio o a nosotros. Para ello ejecuta:

disk/fdisk /dev/sdC0/data
A continuación borra s3 y crea la partición para plan 9:
>>p
p4 linux 232 32523
s2 linuxswap 32523 41344
s3 linux 41344 53424
>> d s3
>> p
p4 linux 232 32523
s2 linuxswap 32523 41344
empty linux 41344 53424
A continuación crea la partición para Plan 9:
>> a s3 41344 53424
>> p
p4 linux 232 32523
s2 linuxswap 32523 41344
s3 plan9 41344 53424
Fíjate que como valores hemos puesto los de principio y fin del espacio "empty". A continuación escribe la tabla de particiones y sal:
>>w
>> q

El segundo paso es crear las particiones con nombre especiales de plan 9 dentro de la partición ya creada:

disk/prep -bw -a^(9fat nvram fossil cache swap) /dev/sdC0/plan9

Lo siguiente es formatear la partición de 9fat y copiar los ficheros adecuados dentro. El kernel se tiene que llamar 9pcdisk.gz, no hace falta plan9.ini (ya que vamos a usar el de pxe. Tampoco hace falta el cargador, pues ya tenemos el de pxe.

disk/format -b /386/pbslba -d -r 2 /dev/sdC0/9fat /386/9load /usr/$user/misfuentes/pc/9pcdisk.gz

Ya estamos listos para arrancar. Sólo hay que elegir la opción para nuestro kernel en el arranque.

Otras preguntas

En página de Plan 9 tienes también una
FAQ. Esto incluye enlaces sobre como usar Acme, Rio, etc.