View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Arranque desde FlashDisk

Arranque desde FlashDisk






Monday, 2 March 2009, 10:46:48 am
[MILAX] Cambio de la IP del milax en la Ofi: 3.0.1.166 Ahora Milax tiene su propio equipo de pruebas, y está configurado con la ip 3.0.1.166, en el interfaz rtls0 (la t. de red realtek/ovislink más cercana a los puertos de audio).

Thursday, 29 January 2009, 10:52:37 am
[MILAX] live-fs-root final Ha quedado de aplicar el siguiente parche:
 # diff -u /mnt/milaxboot2/lib/svc/method/live-fs-root lib/svc/method/live-fs-root
--- /mnt/milaxboot2/lib/svc/method/live-fs-root Wed Sep 10 01:58:55 2008
+++ lib/svc/method/live-fs-root Thu Jan 29 01:52:44 2009
@@ -246,6 +246,12 @@
            MOUNTED=1
            echo "Done mounting live image from memory" > /dev/msglog
        fi    
+
+        # Check if there is a fsconfig script
+        if [ -f /.cdrom/fsconfig.sh ] ; then
+                /.cdrom/fsconfig.sh >/tmp/fsconfig.log 2>/tmp/config2.log
+        fi
+
 fi
 
 if [ "$MOUNTED" -ne 1 ]
@@ -404,6 +410,13 @@
        # set X keyboard layout 
 #      /usr/sbin/set_xkbd.bash 
        # /usr/bin/setup.sh
+
+        # Check if there is a config script
+        if [ -f /.cdrom/config.sh ] ; then
+                /.cdrom/config.sh >/tmp/config.log 2>/tmp/config2.log
+        fi
+        
+        # Normal milax start follows
        
        livemode=`prtconf -v /devices|sed -n '/livemode/{;n;p;}'|cut -f 2 -d\'`
        if [ "$livemode" = "text" ]; then


También he cambiado en boot/solaris/bootenv.rc el keyboard-layout a "Spanish".

El resto de los ficheros son:
 /.cdrom/config.sh
#!/bin/sh
(
sleep 30
/usr/sbin/ifconfig iprb0 10.0.100.5
/usr/sbin/route add default 10.0.100.1
) &
echo nameserver 3.0.1.51 >> /etc/resolv.conf


Se ha hecho una copia de /usr/dss/bin en el .cdrom/dssbin
# cd /
# ( cd /usr/dss & gtar -cpf - bin ) |
( cd /.cdrom & gtar -xvpf - )

Se ha editado el xinitrc y ha quedado de la suiguiente manera:

/.cdrom/bin/xinitrc
#!/sbin/sh
xsetroot -solid rgb:20/20/20 &
setxkbmap -rules /usr/X11/lib/X11/xkb/rules/xorg
XKBD=`cat /etc/sysconfig/xkbd | cut -d= -f2`                                                                                   
setxkbmap -option "grp:alt_shift_toggle" $XKBD
setxkbmap es
conky -c /etc/conky/conkyrc &
exec jwm


Y pur último para montar el directorio modificado
 /.cdrom/fsconfig.sh
#!/bin/sh
mount -F lofs  /.cdrom/bin /usr/dss/bin



Wednesday, 21 January 2009, 9:47:31 am
[MILAX] Forma final de hacer el arranque desde el USB
  1. El live-fs-root modificado para lo siguiente (aparte del config.sh)
  2. Se deja que use el usr.zlib de Milax
  3. se monta un directorio de /.cdrom/dssbin como /usr/dss/bin y ahi tener un xinitrc modificado

Wednesday, 21 January 2009, 9:40:57 am
[MILAX] mount --bind en solaris: mount -F lofs Se uede hacer un bind-mount en solaris con lo que llaman "loopback mount". Por ejemplo:
# mkdir /usr.new
# cd /usr.new
# gtar -xzf /.cdrom/usr.tgz
# cd /
# mount -F lofs /usr.new /usr


Tuesday, 13 January 2009, 11:14:15 am
[MILAX] Modificando el lib/svc/method/live-fs-root para no tener que cambiar el usr.zlib

# gzip -dc < /.cdrom/boot/milax > /tmp/milax
# mkdir /mnt/milaxboot
# mount /tmp/milax /mnt/milaxboot/
# cd /mnt/milaxboot/
# vi lib/svc/method/live-fs-root
(...)
        fi

+        mkdir /usr.ro
        # Explictly create lofi devices for usr.zlib
        # Examine memory requirements
(...)
        if [ "$PHYSMEM" -lt "$MIN_COPY_PHYSMEM" ] ; then
            /usr/sbin/lofiadm -a /.cdrom/usr.zlib /dev/lofi/1 || break
-            /sbin/mount -F hsfs -o ro /dev/lofi/1 /usr
+            /sbin/mount -F hsfs -o ro /dev/lofi/1 /usr.ro
            if [ $? -ne 0 ]
            then
(...)
            /usr/bin/cp /.cdrom/usr.zlib /tmp 2>/dev/msglog
            /usr/sbin/lofiadm -a /tmp/usr.zlib /dev/lofi/1 || break
-            /sbin/mount -F hsfs -o ro /dev/lofi/1 /usr
+            /sbin/mount -F hsfs -o ro /dev/lofi/1 /usr.ro
            if [ $? -ne 0 ]
            then
(...)
        fi
+        /bin/mv /usr /usr.miniroot
+        /bin/mkdir /usr
+        /bin/ln -s /usr.ro/ /usr/
        # mount sico.zlib if present in /sico
(...)
# cp /usr/bin/ln bin/
# cp /usr/bin/mv bin/
# cp /usr/bin/mkdir bin/


Tuesday, 13 January 2009, 10:56:26 am
[MILAX Investigando cómo generar el usr.zlib En este post dicen que:
slim_cd.xml file:
(...)
  • Line 200-202: actually this is the compression type used for the
pkg.zlib and misc.zlib. The compression
type for the usr.zlib is specified as an argument to the
/usr/share/distro_const/post_bootroot_pkg_image_mod
script. Also, our scripts currently don't use the value for compression
level. So, we should not mention it here,
because if they specify something, it will be ignored.

Es decir, que hay que buscar /usr/share/distro_const/post_bootroot_pkg_image_mod y quién lo llama para generar la imagen de usr.zlib.

Todo esto es parte de algo llamado Distro Constructor (CD o distro_const).

Monday, 12 January 2009, 11:24:41 am
[MILAX] Generar el sico.zlib

En Seraphim:
 # cd /backups/tce_solaris10/tce_files
 # mkisofs -o tce_files.iso -J -R -A -V -v home local
 #  scp tce_files.iso alex@10.0.100.5:/tmp/

En Milax:
 # mount -n -o remount,rw $(mount | grep /.cdrom | cut -d ' ' -f 3) /.cdrom
 # root_archive pack /tmp/tce_files.iso /.cdrom/
 # cp /tmp/tce_files.iso /.cdrom/sico.zlib

Friday, 2 January 2009, 11:08:23 am
[MILAX] Sobre los ejecutables y configuración de SICO en el LiveUSB

Para crear el sico.zlib se ha hecho lo siguiente:

# mkdir /mnt/tce_files
# mount -F nfs 3.0.1.45:/backups/tce_solaris10/tce_files /mnt/tce_files
# root_archive pack /tmp/sico.zlib /mnt/tce_files/
# umount /mnt/tce_files
# mount -n -o remount,rw $(mount | grep /.cdrom | cut -d ' ' -f 3) /.cdrom
# cp /tmp/sico.zlib /.cdrom/
# sync
# reboot

(lo de crear sico.zlib de esa manera no funcionó)

Los ejecutables (se cogen de josue:/home/metro/beatriz/discos/sun.SICO.PCL/sun o sun.SICO.VEST/sun ) van a estar directamente en el
 /.cdrom/sun

El V (se hace un tar.gz de josue:/home/metro/beatriz/discos/V.PCL/V o V.VEST/V) va a estar en
 /.cdrom/V.tar.gz

El archivo de configuracion local (se coge de frontendLxx:/home/metro/repositorio/estacion.tar.gz o vest_Estacion.tar.gz) va a estar en
 /.cdrom/estacion.tar.gz

Los archivos de controlid (se hace un tar de josue:/home/metro/beatriz/discos/ControlId ) van a estar en
 /.cdrom/ctrlid.tar

Todos estos archivos se van a colocar en su sitio usando el script /.cdrom/config.sh .

Friday, 2 January 2009, 9:54:44 am
[MILAX] Configurar la Red en el arranque usando config.sh Poniendo el siguiente /.cdrom/config.sh con permisos de ejecución la red se levanta automáticamente. Atención al "sleep 30"; si no se pone, cuando se hace el ifconfig todavía no ha preparado el interfaz iprb0.
 /.cdrom/config.sh
#!/bin/sh
(
sleep 30
/usr/sbin/ifconfig iprb0 10.0.100.5
/usr/sbin/route add default 10.0.100.1
) &
echo nameserver 3.0.1.51 >> /etc/resolv.conf


Friday, 26 December 2008, 11:40:29 am
[MILAX] Salvar las modificaciones hechas al miniroot Los pasos completos son:
# gzip -dc < /.cdrom/boot/milax > /tmp/milax
# mkdir /mnt/milaxboot
# mount /tmp/milax /mnt/milaxboot/
# cd /mnt/milaxboot/
# vi lib/svc/method/live-fs-root
(salvar con ":w!")
# vi boot/solaris/bootenv.rc
(cambiar el keyboard-layout a "Spanish" como dicen aquí; salvar con ":w!")
# cd /tmp
# umount /mnt/milaxboot
# gzip -9 milax
# mount -n -o remount,rw $(mount | grep /.cdrom | cut -d ' ' -f 3) /.cdrom
# cp /tmp/milax.gz /.cdrom/boot/milax
# sync
# reboot


Friday, 26 December 2008, 11:32:30 am
[MILAX]Modificado el live-fs-root del miniroot La versión modificada está en seraphim:/backups/tce_solaris10/milax/live-fs-root
Los cambios realizados son:
  • Si existe /.cdrom/sico.zlib (archivo hsfs comprimido con lofi), lo monta en /sico. Lo monta desde RAM si está en RAM el /usr, si no, desde disco.
  • Si existe /.cdrom/config.sh , lo ejecuta antes de arrancar el servidor X.

 lib/svc/method/live-fs-root
(...)
            echo "Done mounting live image from memory" > /dev/msglog
        fi    
        # mount sico.zlib if present in /sico
        if [ -f /.cdrom/sico.zlib ] ; then
                mkdir /sico
                if [ -f /tmp/usr.zlib ] ; then
                        /usr/bin/cp /.cdrom/sico.zlib /tmp 2>/dev/msglog
                        /usr/sbin/lofiadm -a /tmp/sico.zlib /dev/lofi/2
                        /sbin/mount -F hsfs -o ro /dev/lofi/2 /sico
                else 
                        /usr/sbin/lofiadm -a /.cdrom/sico.zlib /dev/lofi/2
                        /sbin/mount -F hsfs -o ro /dev/lofi/2 /sico
                fi
        fi
fi

(...)
        # /usr/bin/setup.sh

        # Check if there is a config script
        if [ -f /.cdrom/config.sh ] ; then
                /.cdrom/config.sh >/tmp/config.log 2>/tmp/config2.log
        fi
        
        # Normal milax start follows
(...)


FALTA:
  • Salir del directorio milaxboot
  • Desmontar milaxboot
  • Recomprimir milaxboot y ponerlo en el USB
  • Probar que ya ejecuta en config.sh
  • Hacer un sico.zlib (es un hsfs/iso9660, no sé como genrarlos (!), a no ser que use un genisoimage...).
  • Probar que lo monta en /sico
  • Modificar usr.zlib para que el xinitrc llame al de /.cdrom/xinitrc si es que existe.
  • Cambiar /.cdrom/config.sh para que genere /home/metro en RAM con enlaces simbólicos a los archivos de /sico relevantes
  • Hacer que si ve un disco duro en el arranque lo monte
  • Hacer las scripts de fin de jornada que copien los logs al HDD.
  • Cambiar el usuario alex a usuario metro.


Friday, 26 December 2008, 11:07:22 am
[MILAX]Montaje del miniroot Se hace de la siguiente manera:
# gzip -dc < /.cdrom/boot/milax > /tmp/milax
# mkdir /mnt/milaxboot
# mount /tmp/milax /mnt/milaxboot/


Friday, 26 December 2008, 10:47:30 am
[MILAX]Script de inicio del sistema y montaje del usr.zlib Según este patch, se encuentra en:
 /lib/svc/method/live-fs-root

Seguramente dicho fichero esté en el miniroot.

Friday, 26 December 2008, 10:20:28 am
[MILAX]Para modificar la imagen zlib de milax Según este bugreport se hace usando root_archive.
Por ejemplo:
# mkdir /mnt/milax
# mount -F nfs 3.0.1.45:/backups/tce_solaris10/milax /mnt/milax
# cd /mnt/milax
# mkdir usr
# root_archive unpack /.cdrom/usr.zlib /mnt/milax/usr/


Friday, 26 December 2008, 10:09:20 am
[MILAX]Para montar un directorio nfs compartido de seraphim en el milax-usb Se hace con:
# mkdir /mnt/milax ; mount -F nfs 3.0.1.45:/backups/tce_solaris10/milax /mnt/milax

Wednesday, 24 December 2008, 8:47:35 am
[MILAX]Modificar el /usr del flashdisk Es un hsfs tratado con lofi (un compresor de sectores?). Según este post se cambia de la siguiente manera:
(root@milax)# lofiadm -a /.cdrom/usr.zlib 
/dev/lofi/2
(root@milax)# mkdir /mnt/usr
(root@milax)# mount -F hsfs /dev/lofi/2 /mnt/usr


Para recrear el fichero se usa la script root_archive.

Tuesday, 23 December 2008, 9:27:14 am
[MILAX]Arranque del gestor de ventans en milax Lo tienen en el fichero:
 ./usr/dss/bin/xinitrc
Y hacen un simple
 exec jwm
La configuración del teclado la tienen en /etc/sysconfig/xkbd.

[MILAX]LiveCD/liveUSB Architecture Overview LiveCD architecture of both OpenSolaris distro and BeleniX (and Milax).

Thursday, 18 December 2008, 11:40:46 am
[MILAX]Para personalizar milax El USB está montado en /.cdrom. Se puede remontar como rw y escribir en él:
alex$ setxkbmap es
alex$ su
root# ifconfig iprb0 10.0.100.5
root# route add default 10.0.100.1
root# echo nameserver 3.0.1.51 >> /etc/resolv.conf


Para montar el /.cdrom como rw:
root# mount -n -o remount,rw /devices/pci@0,0/pci8086,544e@1d,7/storage@1/disk@0,0:a /.cdrom

Falta averiguar como meternos en el proceso normal de arranque.


Thursday, 18 December 2008, 9:59:29 am
[MILAX]Datos relevantes sobre Milax
Usuario (1)Pass
alexalex
rootroot

Para activar la red:

# ipconfig iprb0 10.0.100.5
# route add default 10.0.100.1


NOTA: En solaris se usa pfexec en vez de sudo.
NOTA2: Toturial rápido de Solaris para Linuxeros

Tuesday, 9 December 2008, 9:37:29 am
[MILAX]Instalando Milax (OpenSolaris inspirado en DSL) en un USB Stick Es la distribución más pequeña que he encontrado, que nos puede servir como base para añadir las aplicaciones de SICO. Los enlaces relevantes son:

Wednesday, 4 June 2008, 6:06:48 pm
Nuevos discos flash con interface PATA Como alternativa a los transcend de 512MB, tanto intel (4 y 8GB) como sandisk (4, 8 y 16GB) han sacado nuevos discos. Los de intel son "$25 and $45, respectively". Ver jkotr: intel's z p230 y jkotr: sandisk pSSD.

Friday, 16 March 2007, 5:23:41 pm
Uso del funionfs Para montar /tmp/a(ro) y /mnt/b(rw) sobre /tmp/t, se hace:
# mount -t fuse funionfs#/tmp/b /tmp/t -o nonempty -o dirs=/tmp/b=rw:/tmp/a=ro

Ya que la página de manual y la FAQ de funionfs están mal...

Tuesday, 13 March 2007, 8:09:37 pm
Cosas a decirle a JuanManuelGomez:
- Hay que habilitar los puertos serie en la BIOS:
1) "Supr" (antes llamado "Del") en el arranque para entrar en la BIOS
2) Entrar en "Integrated peripherals"
3) Enter en "Super IO Device Press Enter"
4) Bajar hasta "UART 3" y dar ENTER. En el menú que sale elegir 3E8 (la penúltima opción) y dar ENTER.
5) Bajar hasta "UART 4" y dar ENTER. En el menú que sale elegir 2E8 (la última opción) y dar ENTER.
6) Dar al ESC DOS VECES veces para ir al menu principal
7) Subir a la segunda opción "Advanced BIOS Fetures"
8) ENTER en la primera opción "Hard Disk Boot Priority"
9) Con PgUP pones TRANSCEND como la primera opción (arriba).
10) Elegir "Save and exit setup" y ENTER
11) Dar Y ENTER cuando sale lo de "Save to CMOS and Exit".
  • Ha habido un cable que ha salido mal (esta con un "cello").

Update (20071109): Añado lo de Hard Disk Boot Priority, necesario para cuando se formatea el segundo disco, para que no intente arrancar de él (ya que no tiene S.O. y no llegaría a arrancar).

Tuesday, 13 March 2007, 5:07:04 pm
Poner la consola en el puerto ttyS0 Está este howto. Ya está instalado, para GRUB/Console en ttyS0 y para consola en ttyS1. He tenido que poner en el /etc/init.d/mountall.sh lo siguiente para el que puerto tuviera las caracteristicas adecuadas:
stty -F /dev/ttyS1 `stty -g -F /dev/ttyS0 `

Monday, 12 March 2007, 7:09:31 pm
Al final con funionfs (sobre fuse) Ya que aufs sólo soporta kernel 2.6. Ya está compilado e instalado en el flashdisk, al igual que el fuse.

Friday, 9 March 2007, 10:21:44 am
Compilado aufs para 2.4.27 En seraphim:/usr/src/src.aufs Y resulta que aufs no reequiere fuse (¡qué sorpresa!). Bueno, fuse nos puede ser útil más adelante...

Falta probarlo en el flashdisk de ML y meterle finalmente el soft de Carlos. Tambien que empiece a user los puertos serie se consola y de login, instalar el minicom y probar el puerto serie USB.

Thursday, 8 March 2007, 6:35:49 pm
Para el flashdisk de ML He hecho lo siguiente:
  1. recompilado el núcleo 2.4.27 en seraphim
  2. recompilado el fuse.o
  3. copiado el /lib/modules/2.4.27 /boot/System.map-2.4.27 (de System.map) /boot/vmlinuz-2.4.27 (de arch/i386/bot/bzImage) al flashdisk
  4. generado un nuevo initrd con (después de haber editado /etc/mkinitrd/mkinitrd.conf para que genere una imagen cramfs)
    # umount /opt/
    # mount -t ext2 /dev/hda6 /tmp
    # mkinitrd -o /boot/initrd.img-2.4.27 -r /dev/hda1 2.4.27
    # umount /tmp
  5. Puesto el nuevo núcleo para que arranque por defecto de él en /boot/grub/menu.lst

UPDATE: El driver del fuse carga correctamente en este núcleo ¡yipieeee!
UPDATE2: Además reconoce correctamente el dispositivo serie USB /dev/ttyUSB0 :-).

Tuesday, 6 March 2007, 9:40:16 am
Compilado el fuse para 2.4.27-2-386 Está en
seraphim:/usr/src/fuse-2.5.3/kernel/fuse.o
Por otro lado, las librerías y resto de ejecyables par ausar fuse están en
seraphim:/usr/src/fuse-2.6.3
(ya que 2.6.3 no soporta kernel 2.4.x, pero en la documentación indican que para kernel 2.4.x se puede usar el userspace de 2.6.3 con el módulo del kernel de 2.5.3).
Más información en:

Monday, 5 March 2007, 4:47:26 pm
FlashDisk de paradas ML La idea es poder usar el HDD sólo si lo hay, por lo que una posible solución sería tener lo siguiente:
  • FUSE
  • AUFS Another UnionFS
  • Algo para tener el HDD original en otro punto de montajo de manera que se le puedan cambiar cosas mientras tiene montado el "another unionfs" en otro lado.

Lo primero es encontrar cómo compilar el módulo de FUSE en 2.4.27-2-386 de sarge...

Thursday, 4 January 2007, 1:00:51 pm
Instalación de benelix en USB disk He conseguido instalar Belenix 0.5.1 en USB desde belenix 0.5.0 (no funciona desde la 0.5.1) usando la script de usbdump1.1. Pasos relizados:
  1. Se arranca el PC de arquitectura nueva con el CD de Benelix 0.5 (y el USB de 1GB enchufado). Se selecciona: Boot 32-bit, Spanish keyboard, XFCE.
  2. Se espera a que arranque el escritorio del XFCE
  3. XFCE Menu > Network profiles > static (para que configure el sistema para configuración sin DHCP, así no hace falta poner rutas para el interfaz ya que las configura él)
  4. Se arranca un terminal (el cuadrado negro en el panel del XFCE)
  5. Se configura la IP
    # ifconfig iprb0 3.0.1.6 netmask 255.255.255.0
  6. Se monta el NFS de seraphim:
    # mkdir /nfs
    # mount -F nfs 3.0.1.45:/imgiso /nfs
  7. Se instala el sistema en el USB-disk:
    # cd /nfs/belenix/usbdump
    # ./usbdump.sh /nfs/belenix/belenix0.5.1.iso
  8. Se espera a que termine el proceso y ponga:
    +-----------------------------------------------------------
    + Belenix installed to USB
    +-----------------------------------------------------------
    + To boot the USB set your BIOS to boot from USB.+ In this case set its boot priority higher than your HDD
    +-----------------------------------------------------------
  9. Se reinicia (XFCE Menu > Quit)
  10. Se mete el CD de belenix 0.5.1
  11. Se repiten los pasos 3,4,5,6 para volver a tener acceso al NFS
  12. Se ponen los ficheros del grub donde el instalador espera encontrarlos:
    # cp /.cdrom/boot/grub /boot/grub
  13. Se edita el /etc/vfstab y se borra la línea de montar solaris
    # vi /etc/vfstab
  14. Se vuelve a realizar la instalación en el USB-stick (esta vez las particiones están bien creadas, y además será capaz de instalar el grub):
    # cd /nfs/belenix/usbdump
    # ./usbdump.sh /nfs/belenix/belenix0.5.1.iso
  15. Se reinicia (XFCE Menu > Quit)

Y eso es todo. Ahora a intentar arrancar desde el disco USB ;-).

Friday, 18 August 2006, 4:53:10 pm
Crear CDs OpenSolaris (belenix) personalizados BELENIX REMASTERING TOOLKIT esto seguramente sirva para lo que queremos :-). Nota: visto en freshmeat. Requiere tener la ISO de belenix 0.4.4 (o superior) y las belenix livecdtools.tar.gz, aparte de un sistema belenix (u opensolaris) instalado y todo eso que dicen en el howto.


Thursday, 6 April 2006, 2:19:19 pm
Para crear imágenes ro autoarrancables de Debian Han creado el proyecto Debian live, que pretende ser un generador de CDs/DVDs/USBkeys-ro autoarrancables usando la Debian oficial (no una mezcla de testing/unstable como hace Knoppix) pero con soporte hacer cambios a base de usar un squashfs de base con un unionfs encima (igual que hace ahora el Knoppix).

Monday, 3 April 2006, 2:20:38 pm
Actualizaciones sobre BeleniX Resulta que han hecho cambios para mejorar el tiempo de arranque desde CD Habría que probarlo...

Thursday, 9 February 2006, 1:45:20 pm
Para los arranques de OpenSolaris desde FlashDisk Por ahora hay tres distribuciones:
  • Belenix, "BeleniX is a LiveCD distribution based on OpenSolaris that runs on x86 machines. It includes all of the OpenSolaris components (Core Kernel, libraries and utilities) and also includes additional GNU/OSS software".
  • Nexenta OS, que usa el kernel de OpenSolaris pero el userland de GNU (en principio, el de Debian; incluso usa el formato de paquetes de debian). Relacionado: Hay gente que ha aprovechado ese port de las utilidades de paquetes de debian portadas para NexentaOS para conseguir instalar Debian 3.1 en una Zone de solaris
  • Schillix Que es un OpenSolaris "de verdad", pero todavía no tienen entorno gráfico :-/.

Tuesday, 17 January 2006, 9:21:38 am
Acelerar el arranque Tutorial de "quitar" la BIOS en las epia, Bootup time resources.

Friday, 16 December 2005, 1:20:39 pm
Versiones finales de las scripts de actualización están en los siguientes attachs: actualiza-torniqini.sh

Friday, 16 December 2005, 11:26:39 am
Para generar el torniq.ini/pupitre.ini Se reuqiere regenerar esos ficheros para no tener que entrar en cada uno de los torniquetes para configurarlos.
Sitios donde probarlo:
 f7 guzmanbueno vest pupitre_sc (DASS)
 f9 conchaespina pupitre_sc (IND)

Hay que volver a crear el torniq.initorniq.sav
. Las partes interesantes del torniq.ini son:
 # DATOS TABLA TORNIQUETES

 NROTORNCONEC ##
 NROTORNENTRADA ##
 MASALTOCONEC ##
 
 TORNIQUETE nn
 ESTADO 00
 ESTADOMG 00
 ESTADOSC 00
 DIAESTADO dd
 MESESTADO mm
 ANIOESTADO aa
 HORAESTADO hh
 MINUTOESTADO mm
 SIMULADO 00
 LECTORSC (nn==01 || nn=02)?01:00
 TIPOTORN 00
 MANTENIMIENTO 00
 MANTENIMIENTOSC 00

 [...]

 # FLAGS PUPITRE
 ANTIPANICO 0
 COLAIMPR 0
 BATBIDIC 0
 ALARMA 0

Para saber los torniquetes sobre los que hay que iterar, basta con un simple
cat /etc/hosts | grep torniquete_ | sed "s/^.*torniquete_\([0-9][0-9]*\).*/\1/g" | sort | uniq


Y luego, si existen estacion.ini o pupitre.ini hay que ajustar las siguientes lineas a
 LINEA           6
 ESTACION        20
 VESTIBULO       2

Cogiendo la configuración del concentrador correspondiente
rsh concentrador "cat /home/metro/sistema/V/CfgConfig.CFG" | grep '.' | grep -v "^[^0-9]" | head -1


Friday, 9 December 2005, 9:30:50 am
Arreglos al pupitre_sc Para añadir al /etc/hosts los hosts del concentrador que corresponden a los canceladores, se puede usar la siguiente script:
rsh concentrador "cat /etc/hosts" | expand | grep 'cancelador[0-9]' | sed '/./=' | sed '/./N; s/\n/:/' | cut -d " " -f 1 | sed "s/^/000/g" | sed "s/^0*\([0-9][0-9]\):\(.*\)/\2        cancelador_\1        torniquete_\1/g" > /tmp/hosts-add.txt

Una vez hecho eso, para hacer la sustitucion justo detras de la linea de concentrador:
cat /etc/hosts | grep -v "[^a-z]ana[^a-z]*\$\|cancelador_" | tr "
" "@" | sed "s/\(concentrador[^@]*@\).*/\1/g" | tr "@" "
" > /tmp/hosts.pre

cat /etc/hosts | grep -v "[^a-z]ana[^a-z]*\$\|cancelador_" | tr "
" "@" | sed "s/^.*concentrador[^@]*@\(.\)/\1/g" | tr "@" "
" > /tmp/hosts.post

Y por último, unir las tres partes:
cat /tmp/hosts.pre /tmp/hosts-add.txt /tmp/hosts.post > /etc/hosts


Tuesday, 29 November 2005, 11:43:10 am
Más sobre kernels optimizados para EPIA En este blog sobre el VideoKeg (un PC embebido -- parecía que para hacer timeshifting con MythTV/MPlayer y jugar a arcades con el MAME -- finalmente como videojukebox), explican cómo configurar una VIA EPIA M1000 con Debian Sarge.
  1. Coger los parches del núcleo de http://www.epiawiki.org
  2. Usar las flags de compilación adecuadas (p.ej. para cuando compiles el MPlayer).
    Para GCC 2.95
    CFLAGS="-march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer"
    Para GCC 3.3 hay una march específica para el C3 Nehemiah
    -march=c3-2
    Con lo que queda:
    CFLAGS="-march=c3-2 -msse -mmmx -mfpmath=sse,387 -O2 -pipe -ffast-math -finline-functions -fomit-frame-pointer"
  3. Parchear XFree86 4.3.0-dfsg con los drivers unichrome (hay un parche específico para el 4.3.0-dfsg en esa página), y compilar el módulo DRM del núcleo desde los fuentes CVS del proyecto DRI (http://dri.sf.net o http://dri.freedesktop.org).
  4. Poner el audio (módulo vt8233) haciendo un simple
    # module-assist auto-install alsa

Además trae información en cómo configurar una TouchScreen con las XFree y comentarios varios sobre el software que instaló para ver vídeos de forma automática (y de forma programada).

Thursday, 24 November 2005, 8:26:45 am
Desactivar hotplug Según esta página se puede acelerar el arranque de Debian-sarge desactivando hotplug. EL método que propone es:
  1. Como root, paramos hotplug:
    # /etc/init.d/hotplug stop
  2. Ahora lo volvemos a arrancar para asegurarnos que ha cargado todos los módulos necesarios:
    # /etc/init.d/hotplug start
  3. Haz una lista con los módulos cargados (lsmod) y ponlos en /etc/modules:
    # (echo "# Modulos autodetectados" ; lsmod | tac | grep -v ^Module | cut -d " " -f 1) >> /etc/modules
  4. Inabilita el hotplug:
    # mv /etc/init.d/hotplug /etc/init.d/hotplug.disabled
Y eso es todo. Con eso el sistema debería arrancar bastante más rápido ;-).

Update: En el pupitre_sc ha pasado de tardar 76s a 62s (tiempo medido dejando un ping al pupitre, haciendo un reboot en el pupitre y mirar en el ping el último paquete de antes de dejar de tener ping (icmp_seq1) y el primero de cuando recupera el ping (icmp_seq2), y hacer (icmp_seq2-icmp_seq1+1)).



Thursday, 27 October 2005, 9:22:48 am
Para copiar los ficheros modificados Resulta que es necesario que las copias sean con tar (o con cp -p) para que no se altere el "modification time". Para comparar el modification time desde bash, se hace:
$ cp -p /etc/hosts /tmp/hosts
$ if [ /etc/hosts -nt /tmp/hosts ] || [ /etc/hosts -ot /tmp/hosts ] ; then echo cambiado ; else echo igual ; fi
igual


Tuesday, 26 July 2005, 6:43:53 pm
He terminado la script para que los pupitres arranquen en read-only He modificado el /etc/init.d/mountall.sh para que prepare unos cuantos ramdisks y copie a ellos las partes que se suponen read-write de la debian (el /etc incluido, por culpa del mtab). Pasos a seguir para instalarlo:
  1. Hacer un tar con los siguientes ficheros del maestro:
    /lib/modules/2.2.26/fs/minix.o
    /lib/modules/2.2.26/block/rd.o
    /etc/init.d/mountall.sh
    /etc/fstab
  2. Instalarlos en el ordenador remoto
  3. Hacer un depmod -a
  4. reiniciar

Tuesday, 26 July 2005, 12:10:05 pm
Howto (Gentoo) para tener el rootfs como read-only Lo tienes aquí.

Friday, 22 July 2005, 1:24:55 pm
Uso de ramdisk para /tmp usando el nucleo 2.2.26 Resulta que el 2.2.26 no tiene tmpfs, por lo que habrá que usar el soporte de ramdisk. Hay un buen ejemplo de uso aquí. Básicamente se usa de la siguiente manera:
  1. Se carga el módulo
    # insmod /lib/modules/2.2.26/block/rd rd_size=10000
  2. Se prepara con un dd
    # dd if=/dev/zero of=/dev/ram0
  3. Se formatea
    # mkfs.ext2 /dev/ram0
  4. Se monta
    # mount -t ext2 /dev/ram0 /tmp

Monday, 11 July 2005, 3:19:26 pm
Configuración del núcleo para las VIA EPIA Lo explican en este artículo de BULMA. Básicamente hay que activar las siguientes opciones:
Processor type and features
  • (CyrixIII/VIA-C3,VIA-C5) Processor family
  • /dev/cpu//msr - Model-specific register support
  • MTRR (Memory Type Range Register) support
General setup
  • ACPI support (solo para los valientes)
ATA/IDE/MFM/RLL support
  • VIA82xxx chipset support
Network device support
  • Ethernet (10 or 100Mbit)
    • Via Rhine support
      • Use MMIO instead of PIO (EXPERIMENTAL)
Character devices
  • /dev/agpgart (AGP support)
    • VIA chipset support
Console drivers
  • Frame-buffer support
    • Trident support (EXPERIMENTAL)
Sound
  • VIA 86C686 Audio codec
USB support
  • USB Host Controller Drivers
    • UHCI Alternate driver (JE) support
Y si se usa un kernel 2.5 (2.6), además se pone la siguiente (sirve para vajar el consumo cunado el uso de la CPU está por debajo del 100%):
Processor type and features
  • >CPU Frequency scaling
    • >Via Cyrix III Longhaul


Thursday, 23 June 2005, 9:57:23 am
Para usar Solaris (OpenSolaris) Está la distribución Schillix (comentarios). Está promovida por Jörg Schilling (el de las cdrtools; sí, ese que decía que el acceso a unidades IDE con un API específico no se debía usar y habría que hacer que Linux SIEMPRE usase la emulación SCSI (¡ugh!)).

Wednesday, 16 March 2005, 9:13:47 am
Discos Transcend 40-pin IDE flash 512 En una búsqueda en google salen los siguientes:


Actualización (27/06/2005): Al final compramos en su momento una "Transcend 40-pin IDE Flash Disk 512MB" en Ibérica de Componentes (más info). En esa misma tienda compramos las tarjetas wi-fi de los PDAs.
NombreIbérica de Componentes, S.A.
DirecciónAv. Somosierra, 12 1º, Of. A
28709 San Sebastián de los Reyes
Teléfono916 592 970
Fax916 531 019
Correo-Einforma@ibercom.net
Webwww.ibercom.net

Wednesday, 16 March 2005, 8:54 am
Soporte USB en Solaris 10 Using USB Devices (Solaris 10). En la página del scsa2usb dice textualmente: "For a comprehensive listing of (non-bootable) USB mass-storage devices that are compatible with this driver, see www.sun.com/io". Dicho de otro modo: siguen sin dar soporte a dispositivos USB en el Device Configuration Assistant (que es quien parece que se encarga de cargar el núcleo...).

Monday, 3 January 2005, 9:02:47 am
uWoody: una Woody con uClibc y BusyBox La tienes aquí

Tuesday, 14 December 2004, 12:16:16 pm
Posibilidades de aranque desde flash+IDE: Unslung method El método usado por la comunidad Unslung para arrancar desde flash o desde IDE (según convenga). NOTA: El NSLU2 es un aparatejo muy majo, dicho sea de paso ;-).

Tuesday, 20 July 2004, 8:05:42 am
Arramque desde USB en solaris-9 Se imagina que este artículo de instalación de solaris en portátiles explica lo que hay que hacer para que arranque de un cd-usb: en definitiva es que solaris-9 no soporta el arranque desde dispositivos USB; en el primer enlace dicen que la única solución es usar un CD/DVD atapi.

Thursday, 1 July 2004, 5:29:56 pm
Union FS/Overlay FS en linux y en solaris Resulta que hay una lista de los intentos de realizar un "union FS" en Linux. Mira dicha la lista [razonablemente] completa de Union file systems en Linux. La implementación más madura para Linux parece ser mini_fo

Para solaris resulta que sun hizo el "Translucent File Service (TFS)". Según parece solaris dejó de soportar TFS en solaris 2.6

Descripción del proyecto


La intención es hacer un sistema que:

  1. Arranca de un disco flash
  2. Comprueba (fsck) los hdd
  3. Si la comprobación es correcta, los monta y ejecuta la aplicación desde los HDD
  4. Si la comprobación es incorrecta, trabaja sobre RAM y ejecuta la aplicación en read-only sobre el disco flash.

Notas


Puede ser interesante (si se hace en Linux) usar un overlay file system, en vez de tener que coger y descomprimir todo en RAM.

Ejemplos de overlay file system para Linux:

Uploads


mountall.sh+
fstab+
actualiza-torniqini.sh+
actualiza-torniqini.sh+