"Después del juego es antes del juego"
Sepp Herberger

sábado, 5 de septiembre de 2015

Reaprovechando Thinclients HP5710 (Parte 3 y última)

Nuestro problema inicial para instalar Debian Squeeze es que el disco flash del aparato solo tiene 512Mb, ni un mísero Gigabyte. Cualquier distribución de los últimos años necesita mucho mas simplemente para una instalación básica.

Para intentarlo optamos por elegir la imagen netinst de Debian, ya que es la que menos ocupa (135-175Mb la ISO), a ver si hay suerte. La grabamos en un pendrive como hicimos con DSL, arrancamos e iniciamos la instalación, instalando todo mas pelado que en un Estado neoliberal: sin X y sin servidores de ningún tipo, nosotros luego iremos metiendo los paquetes según vayan haciendo falta. Cuando nos pregunta el nombre de equipo, yo lo he llamado "thinclient", aunque si hacemos una instalación múltiple habría que numerarlo.

Despues de instalar, verificamos que cabe en el disco duro y reiniciamos para arrancar. Siguiendo las instrucciones de aquí hacemos más hueco, borrando además /usr/lib/doc y /usr/lib/man (ocupan espacio y no los vamos a usar). Despues de eso instalamos xserver-xorg  y x2goclient (este último desde backports) junto con sus paquetes dependientes y tachán... compruebo cabe todo y hasta sobra un poquitín:


/dev/sda1               467449    410406     32105  93% /

El kernel usado es:

root@thinclient:~# cat /proc/version 
Linux version 2.6.32-5-486 (Debian 2.6.32-48squeeze6) (jmm@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 Tue May 13 16:15:32 UTC 2014


Los paquetes que nos han quedado en esta instalación mínima para ejecutar x2goclient son:

root@thinclient:~# dpkg -l 
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre                          Versión                        Descripción
+++-===============================-===============================-==============================================================================
ii  acpi                            1.5-2                           displays information on ACPI devices
ii  acpi-support-base               0.137-5                         scripts for handling base ACPI events such as the power button
ii  acpid                           1:2.0.7-1squeeze4               Advanced Configuration and Power Interface event daemon
ii  adduser                         3.112+nmu2                      add and remove users and groups
ii  apt                             0.8.10.3+squeeze1               Advanced front-end for dpkg
ii  apt-utils                       0.8.10.3+squeeze1               APT utility programs
ii  aptitude                        0.6.3-3.2+squeeze1              terminal-based package manager (terminal interface only)
ii  aspell                          0.60.6-4                        GNU Aspell spell-checker
ii  aspell-es                       1.10-9                          Spanish dictionary for aspell
ii  base-files                      6.0squeeze10                    Debian base system miscellaneous files
ii  base-passwd                     3.5.22                          Debian base system master password and group files
ii  bash                            4.1-3                           The GNU Bourne Again SHell
ii  bsdmainutils                    8.0.13                          collection of more utilities from FreeBSD
ii  bsdutils                        1:2.17.2-9                      Basic utilities from 4.4BSD-Lite
ii  busybox                         1:1.17.1-8                      Tiny utilities for small and embedded systems
ii  console-setup                   1.68+squeeze2                   console font and keymap setup program
ii  console-terminus                4.30-2                          Fixed-width fonts for fast reading on the Linux console
ii  coreutils                       8.5-1                           GNU core utilities
ii  cpio                            2.11-4                          GNU cpio -- a program to manage archives of files
ii  cron                            3.0pl1-116                      process scheduling daemon
ii  dash                            0.5.5.1-7.4                     POSIX-compliant shell
ii  debconf                         1.5.36.1                        Debian configuration management system
ii  debconf-i18n                    1.5.36.1                        full internationalization support for debconf
ii  debian-archive-keyring          2010.08.28+squeeze1             GnuPG archive keys of the Debian archive
ii  debian-reference-common         2.46                            Debian system administration guide, common files
ii  debian-reference-en             2.46                            Debian system administration guide, English original
ii  debian-reference-es             2.46                            Debian system administration guide, Spanish translation
ii  debianutils                     3.4                             Miscellaneous utilities specific to Debian
ii  dictionaries-common             1.5.17                          Common utilities for spelling dictionary tools
ii  diffutils                       1:3.0-1                         File comparison utilities
ii  discover                        2.1.2-5                         hardware identification system
ii  discover-data                   2.2010.10.18                    Data lists for Discover hardware detection system
ii  dmidecode                       2.9-1.2                         Dump Desktop Management Interface data
ii  dmsetup                         2:1.02.48-5                     The Linux Kernel Device Mapper userspace library
ii  doc-debian-es                   2.6                             Debian FAQ translated to Spanish
ii  dpkg                            1.15.11                         Debian package management system
ii  e2fslibs                        1.41.12-4stable1                ext2/ext3/ext4 file system libraries
ii  e2fsprogs                       1.41.12-4stable1                ext2/ext3/ext4 file system utilities
ii  findutils                       4.4.2-1+b1                      utilities for finding files--find, xargs
ii  fontconfig                      2.8.0-2.1                       generic font configuration library - support binaries
ii  fontconfig-config               2.8.0-2.1                       generic font configuration library - configuration
ii  gcc-4.4-base                    4.4.5-8                         The GNU Compiler Collection (base package)
ii  gettext-base                    0.18.1.1-3                      GNU Internationalization utilities for the base system
ii  gnupg                           1.4.10-4+squeeze4               GNU privacy guard - a free PGP replacement
ii  gpgv                            1.4.10-4+squeeze4               GNU privacy guard - signature verification tool
ii  grep                            2.6.3-3+squeeze1                GNU grep, egrep and fgrep
ii  groff-base                      1.20.1-10                       GNU troff text-formatting system (base system components)
ii  grub-common                     1.98+20100804-14+squeeze1       GRand Unified Bootloader, version 2 (common files)
ii  grub-pc                         1.98+20100804-14+squeeze1       GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  gzip                            1.3.12-9+squeeze1               GNU compression utilities
ii  hostname                        3.04                            utility to set/show the host name or domain name
ii  hwinfo                          16.0-2                          Hardware identification system
ii  ifupdown                        0.6.10                          high level tools to configure network interfaces
ii  info                            4.13a.dfsg.1-6                  Standalone GNU Info documentation browser
ii  initramfs-tools                 0.98.8                          tools for generating an initramfs
ii  initscripts                     2.88dsf-13.1+squeeze1           scripts for initializing and shutting down the system
ii  insserv                         1.14.0-2                        Tool to organize boot sequence using LSB init.d script dependencies
ii  install-info                    4.13a.dfsg.1-6                  Manage installed documentation in info format
ii  installation-report             2.44                            system installation report
ii  iproute                         20100519-3                      networking and traffic control tools
ii  iptables                        1.4.8-3                         administration tools for packet filtering and NAT
ii  iputils-ping                    3:20100418-3                    Tools to test the reachability of network hosts
ii  isc-dhcp-client                 4.1.1-P1-15+squeeze8            ISC DHCP client
ii  isc-dhcp-common                 4.1.1-P1-15+squeeze8            common files used by all the isc-dhcp* packages
ii  ispanish                        1.10-9                          Spanish dictionary for ispell
ii  ispell                          3.1.20.0-7                      International Ispell (an interactive spelling corrector)
ii  jwm                             2.0.1-3                         Very small lightweight pure X11 window manager with tray and menus
ii  kbd                             1.15.2-2                        Linux console font and keytable utilities
ii  keyboard-configuration          1.68+squeeze2                   system-wide keyboard preferences
ii  klibc-utils                     1.5.20-1+squeeze1               small utilities built with klibc for early boot
ii  laptop-detect                   0.13.7                          attempt to detect a laptop
ii  libacl1                         2.2.49-4                        Access control list shared library
ii  libaspell15                     0.60.6-4                        GNU Aspell spell-checker runtime library
ii  libattr1                        1:2.4.44-2                      Extended attribute shared library
ii  libaudio2                       1.9.2-4squeeze1                 Network Audio System - shared libraries
ii  libaudit0                       1.7.13-1+b2                     Dynamic library for security auditing
ii  libavahi-client3                0.6.27-2+squeeze1               Avahi client library
ii  libavahi-common-data            0.6.27-2+squeeze1               Avahi common data files
ii  libavahi-common3                0.6.27-2+squeeze1               Avahi common library
ii  libblkid1                       2.17.2-9                        block device id library
ii  libboost-iostreams1.42.0        1.42.0-4                        Boost.Iostreams Library
ii  libbsd0                         0.2.0-1                         utility functions from BSD systems - shared library
ii  libbz2-1.0                      1.0.5-6+squeeze1                high-quality block-sorting file compressor library - runtime
ii  libc-bin                        2.11.3-4                        Embedded GNU C Library: Binaries
ii  libc6                           2.11.3-4                        Embedded GNU C Library: Shared libraries
ii  libcomerr2                      1.41.12-4stable1                common error description library
ii  libcups2                        1.4.4-7+squeeze5                Common UNIX Printing System(tm) - Core library
ii  libcwidget3                     0.5.16-3                        high-level terminal interface library for C++ (runtime files)
ii  libdb4.8                        4.8.30-2                        Berkeley v4.8 Database Libraries [runtime]
ii  libdbus-1-3                     1.2.24-4+squeeze2               simple interprocess messaging system
ii  libdevmapper1.02.1              2:1.02.48-5                     The Linux Kernel Device Mapper userspace library
ii  libdiscover2                    2.1.2-5                         hardware identification library
rc  libdrm-intel1                   2.4.21-1~squeeze3               Userspace interface to intel-specific kernel DRM services -- runtime
rc  libdrm-radeon1                  2.4.21-1~squeeze3               Userspace interface to radeon-specific kernel DRM services -- runtime
ii  libdrm2                         2.4.21-1~squeeze3               Userspace interface to kernel DRM services -- runtime
ii  libedit2                        2.11-20080614-2                 BSD editline and history libraries
ii  libept1                         1.0.4                           High-level library for managing Debian package information
ii  libexpat1                       2.0.1-7+squeeze1                XML parsing C library - runtime library
ii  libfontconfig1                  2.8.0-2.1                       generic font configuration library - runtime
ii  libfontenc1                     1:1.0.5-2                       X11 font encoding library
ii  libfreetype6                    2.4.2-2.1+squeeze4              FreeType 2 font engine, shared library files
ii  libfribidi0                     0.19.2-1                        Free Implementation of the Unicode BiDi algorithm
ii  libgcc1                         1:4.4.5-8                       GCC support library
ii  libgcrypt11                     1.4.5-2+squeeze1                LGPL Crypto library - runtime library
ii  libgdbm3                        1.8.3-9                         GNU dbm database routines (runtime version)
ii  libglib2.0-0                    2.24.2-1                        The GLib library of C routines
ii  libgnutls26                     2.8.6-1+squeeze3                the GNU TLS library - runtime library
ii  libgpg-error0                   1.6-1                           library for common error values and messages in GnuPG components
ii  libgssapi-krb5-2                1.8.3+dfsg-4squeeze7            MIT Kerberos runtime libraries - krb5 GSS-API Mechanism
ii  libhal1                         0.5.14-3                        Hardware Abstraction Layer - shared library
ii  libhd16                         16.0-2                          Hardware identification system library
ii  libice6                         2:1.0.6-2                       X11 Inter-Client Exchange library
ii  libjpeg62                       6b1-1                           The Independent JPEG Group's JPEG runtime library (version 6.2)
ii  libk5crypto3                    1.8.3+dfsg-4squeeze7            MIT Kerberos runtime libraries - Crypto Library
ii  libkeyutils1                    1.4-1                           Linux Key Management Utilities (library)
ii  libklibc                        1.5.20-1+squeeze1               minimal libc subset for use with initramfs
ii  libkrb5-3                       1.8.3+dfsg-4squeeze7            MIT Kerberos runtime libraries
ii  libkrb5support0                 1.8.3+dfsg-4squeeze7            MIT Kerberos runtime libraries - Support library
ii  liblcms1                        1.18.dfsg-1.2+b3                Color management library
ii  libldap-2.4-2                   2.4.23-7.3                      OpenLDAP libraries
ii  liblocale-gettext-perl          1.05-6                          Using libc functions for internationalization in Perl
ii  liblzma2                        5.0.0-2                         XZ-format compression library
ii  libmng1                         1.0.10-1+b1                     Multiple-image Network Graphics library
ii  libncurses5                     5.7+20100313-5                  shared libraries for terminal handling
ii  libncursesw5                    5.7+20100313-5                  shared libraries for terminal handling (wide character support)
ii  libnewt0.52                     0.52.11-1                       Not Erik's Windowing Toolkit - text mode windowing with slang
ii  libnfnetlink0                   1.0.0-1                         Netfilter netlink library
ii  libpam-modules                  1.1.1-6.1+squeeze1              Pluggable Authentication Modules for PAM
ii  libpam-runtime                  1.1.1-6.1+squeeze1              Runtime support for the PAM library
ii  libpam0g                        1.1.1-6.1+squeeze1              Pluggable Authentication Modules library
ii  libpci3                         1:3.1.7-6                       Linux PCI Utilities (shared library)
ii  libpciaccess0                   0.12.0-1                        Generic PCI access library for X
ii  libpcre3                        8.02-1.1                        Perl 5 Compatible Regular Expression Library - runtime files
ii  libpixman-1-0                   0.16.4-1+deb6u1                 pixel-manipulation library for X and cairo
ii  libpng12-0                      1.2.44-1+squeeze4               PNG library - runtime
ii  libpopt0                        1.16-1                          lib for parsing cmdline parameters
ii  libqt4-network                  4:4.6.3-4+squeeze1              Qt 4 network module
ii  libqt4-svg                      4:4.6.3-4+squeeze1              Qt 4 SVG module
ii  libqtcore4                      4:4.6.3-4+squeeze1              Qt 4 core module
ii  libqtgui4                       4:4.6.3-4+squeeze1              Qt 4 GUI module
ii  libreadline6                    6.1-3                           GNU readline and history libraries, run-time libraries
ii  libsasl2-2                      2.1.23.dfsg1-7                  Cyrus SASL - authentication abstraction library
ii  libselinux1                     2.0.96-1                        SELinux runtime shared libraries
ii  libsepol1                       2.0.41-1                        SELinux library for manipulating binary security policies
ii  libsigc++-2.0-0c2a              2.2.4.2-1                       type-safe Signal Framework for C++ - runtime
ii  libslang2                       2.2.2-4                         The S-Lang programming library - runtime version
ii  libsm6                          2:1.1.1-1                       X11 Session Management library
ii  libsqlite3-0                    3.7.3-1                         SQLite 3 shared library
ii  libss2                          1.41.12-4stable1                command-line interface parsing library
ii  libssh-4                        0.5.3-1~bpo60+1                 tiny C SSH library
ii  libssl0.9.8                     0.9.8o-4squeeze14               SSL shared libraries
ii  libstdc++6                      4.4.5-8                         The GNU Standard C++ Library v3
ii  libtasn1-3                      2.7-1+squeeze+1                 Manage ASN.1 structures (runtime)
ii  libtext-charwidth-perl          0.04-6                          get display widths of characters on the terminal
ii  libtext-iconv-perl              1.7-2                           converts between character sets in Perl
ii  libtext-wrapi18n-perl           0.06-7                          internationalized substitute of Text::Wrap
ii  libtiff4                        3.9.4-5+squeeze10               Tag Image File Format (TIFF) library
ii  libudev0                        164-3                           libudev shared library
ii  libusb-0.1-4                    2:0.1.12-16                     userspace USB programming library
ii  libutempter0                    1.1.5-3                         A privileged helper for utmp/wtmp updates (runtime)
ii  libuuid-perl                    0.02-4                          Perl extension for using UUID interfaces as defined in e2fsprogs
ii  libuuid1                        2.17.2-9                        Universally Unique ID library
ii  libwrap0                        7.6.q-19                        Wietse Venema's TCP wrappers library
ii  libx11-6                        2:1.3.3-4+squeeze1              X11 client-side library
ii  libx11-data                     2:1.3.3-4+squeeze1              X11 client-side library
ii  libxapian22                     1.2.3-2                         Search engine library
ii  libxau6                         1:1.0.6-1                       X11 authorisation library
ii  libxaw7                         2:1.0.7-1                       X11 Athena Widget library
ii  libxcb1                         1.6-1+squeeze1                  X C Binding
ii  libxcomp3                       3.2.0-7-1.1+b1                  NX X compression library
ii  libxdmcp6                       1:1.0.3-2                       X11 Display Manager Control Protocol library
ii  libxext6                        2:1.1.2-1+squeeze1              X11 miscellaneous extension library
ii  libxfont1                       1:1.4.1-5                       X11 font rasterisation library
ii  libxft2                         2.1.14-2                        FreeType-based font drawing library for X
ii  libxi6                          2:1.3-8                         X11 Input extension library
ii  libxinerama1                    2:1.1-3+squeeze1                X11 Xinerama extension library
ii  libxkbfile1                     1:1.0.6-2                       X11 keyboard file manipulation library
ii  libxmu6                         2:1.0.5-2                       X11 miscellaneous utility library
ii  libxmuu1                        2:1.0.5-2                       X11 miscellaneous micro-utility library
ii  libxpm4                         1:3.5.8-1                       X11 pixmap library
ii  libxrender1                     1:0.9.6-1+squeeze1              X Rendering Extension client library
ii  libxt6                          1:1.0.7-1+squeeze1              X11 toolkit intrinsics library
ii  linux-base                      2.6.32-48squeeze6               Linux image base package
ii  linux-image-2.6-486             2.6.32+29                       Linux 2.6 for old PCs (meta-package)
ii  linux-image-2.6.32-5-486        2.6.32-48squeeze6               Linux 2.6.32 for old PCs
ii  locales                         2.11.3-4                        Embedded GNU C Library: National Language (locale) data [support]
ii  login                           1:4.1.4.2+svn3283-2+squeeze1    system login tools
ii  logrotate                       3.7.8-6                         Log rotation utility
ii  lsb-base                        3.2-23.2squeeze1                Linux Standard Base 3.2 init script functionality
ii  man-db                          2.5.7-8                         on-line manual pager
ii  manpages                        3.27-1                          Manual pages about using a GNU/Linux system
ii  manpages-es                     1.55-9                          Spanish man pages
ii  mawk                            1.3.3-15                        a pattern scanning and text processing language
ii  module-init-tools               3.12-2+b1                       tools for managing Linux kernel modules
ii  mount                           2.17.2-9                        Tools for mounting and manipulating filesystems
ii  nano                            2.2.4-1                         small, friendly text editor inspired by Pico
ii  ncurses-base                    5.7+20100313-5                  basic terminal type definitions
ii  ncurses-bin                     5.7+20100313-5                  terminal-related programs and man pages
ii  net-tools                       1.60-23                         The NET-3 networking toolkit
ii  netbase                         4.45                            Basic TCP/IP networking system
ii  netcat-traditional              1.10-38                         TCP/IP swiss army knife
ii  nxproxy                         3.2.0-1-1                       NX X compression library
ii  openssh-blacklist               0.4.1                           list of default blacklisted OpenSSH RSA and DSA keys
ii  openssh-blacklist-extra         0.4.1                           list of non-default blacklisted OpenSSH RSA and DSA keys
ii  openssh-client                  1:5.5p1-6+squeeze5              secure shell (SSH) client, for secure access to remote machines
ii  openssh-server                  1:5.5p1-6+squeeze5              secure shell (SSH) server, for secure access from remote machines
ii  os-prober                       1.42                            utility to detect other OSes on a set of drives
ii  passwd                          1:4.1.4.2+svn3283-2+squeeze1    change and administer password and group data
ii  pciutils                        1:3.1.7-6                       Linux PCI Utilities
ii  perl-base                       5.10.1-17squeeze6               minimal Perl system
ii  procps                          1:3.2.8-9squeeze1               /proc file system utilities
ii  readline-common                 6.1-3                           GNU readline and history libraries, common files
ii  rsyslog                         4.6.4-2                         enhanced multi-threaded syslogd
ii  sed                             4.2.1-7                         The GNU sed stream editor
ii  sensible-utils                  0.0.4                           Utilities for sensible alternative selection
ii  sysv-rc                         2.88dsf-13.1+squeeze1           System-V-like runlevel change mechanism
ii  sysvinit                        2.88dsf-13.1+squeeze1           System-V-like init utilities
ii  sysvinit-utils                  2.88dsf-13.1+squeeze1           System-V-like utilities
ii  tar                             1.23-3                          GNU version of the tar archiving utility
ii  tasksel                         2.88                            Tool for selecting tasks for installation on Debian systems
ii  tasksel-data                    2.88                            Official tasks used for installation of Debian systems
ii  tcpd                            7.6.q-19                        Wietse Venema's TCP wrapper utilities
ii  traceroute                      1:2.0.15-1                      Traces the route taken by packets over an IPv4/IPv6 network
ii  ttf-dejavu-core                 2.31-1                          Vera font family derivate with additional characters
ii  tzdata                          2014e-0squeeze1                 time zone and daylight-saving time data
ii  ucf                             3.0025+nmu1                     Update Configuration File: preserve user changes to config files.
ii  udev                            164-3                           /dev/ and hotplug management daemon
ii  usbutils                        0.87-5squeeze1                  Linux USB utilities
ii  util-linux                      2.17.2-9                        Miscellaneous system utilities
ii  util-linux-locales              2.17.2-9                        Locales files for util-linux
ii  vim-common                      2:7.2.445+hg~cb94c42c0e1a-1     Vi IMproved - Common files
ii  vim-tiny                        2:7.2.445+hg~cb94c42c0e1a-1     Vi IMproved - enhanced vi editor - compact version
ii  wget                            1.12-2.1                        retrieves files from the web
ii  whiptail                        0.52.11-1                       Displays user-friendly dialog boxes from shell scripts
ii  wspanish                        1.0.25                          The Spanish dictionary words for /usr/share/dict
ii  x11-common                      1:7.5+8+squeeze1                X Window System (X.Org) infrastructure
ii  x11-xkb-utils                   7.5+5                           X11 XKB utilities
ii  x2goclient                      3.99.2.1-5~bpo60+1              X2Go Client application (Qt4)
ii  xauth                           1:1.0.4-1                       X authentication utility
ii  xbitmaps                        1.1.0-1                         Base X bitmaps
ii  xfonts-base                     1:1.0.1                         standard fonts for X
ii  xfonts-encodings                1:1.0.3-1                       Encodings for X.Org fonts
ii  xfonts-utils                    1:7.5+2                         X Window System font utility programs
ii  xinit                           1.2.0-2                         X server initialisation tool
ii  xkb-data                        1.8-2                           X Keyboard Extension (XKB) configuration data
ii  xserver-common                  2:1.7.7-18                      common files used by various X servers
ii  xserver-xorg                    1:7.5+8+squeeze1                the X.Org X server
ii  xserver-xorg-core               2:1.7.7-18                      Xorg X server - core server
ii  xserver-xorg-input-all          1:7.5+8+squeeze1                the X.Org X server -- input driver metapackage
ii  xserver-xorg-input-evdev        1:2.3.2-6                       X.Org X server -- evdev input driver
ii  xserver-xorg-input-kbd          1:1.4.0-2                       X.Org X server -- keyboard input driver
ii  xserver-xorg-input-mouse        1:1.5.0-2                       X.Org X server -- mouse input driver
ii  xserver-xorg-input-synaptics    1.2.2-2                         Synaptics TouchPad driver for X.Org server
ii  xserver-xorg-input-wacom        0.10.5+20100416-1               X.Org X server -- Wacom input driver
ii  xserver-xorg-video-vesa         1:2.3.0-3                       X.Org X server -- VESA display driver
ii  xterm                           261-1                           X terminal emulator
ii  xz-utils                        5.0.0-2                         XZ-format compression utilities
ii  zlib1g                          1:1.2.3.4.dfsg-3                compression library - runtime

Como se ve, es lo menos que podemos tener para que funcione todo bien.

Después de esto creamos un usuario "thinclient" con contraseña "thinclient", que será el que se usará para hacer login. Nos interesa que por facilidad se haga login automaticamente, pero no tenemos Display Manager (ni falta que hace), así que lo modificamos /etc/inittab para hacer autologin en consola:

.....
#1:2345:respawn:/sbin/getty 38400 tty1
#Para el autologin:

1:2345:respawn:/bin/login -f thinclient tty1 </dev/tty1 >/dev/tty1 2>&1
.......

Además también nos viene bien que se ejecuten automáticamente las X para entrar en el entorno gráfico, para ello editamos .bash_profile en /home/thinclient y añadimos:

.......
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
    startx
fi
.......

Si se ve la lista de paquetes comprobaremos que no tenemos ningún escritorio ni gestor de ventanas: ni XFCE, ni  KDE, ni LXDE, nada de nada. Nuestro objetivo es ejecutar x2goclient a pantalla completa para conectar con nuestro servidor. Eso se logra editando /etc/X11/xinit/xinitrc para que quede así:

#!/bin/sh
# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

# invoke global X session script
#/usr/bin/jwm & #no hace falta gestor de ventanas
#xterm -geometry 80x66+0+0 -name login &

exec /usr/bin/x2goclient --thinclient --session=a99-pro --no-session-edit --add-to-known-hosts --haltbt

# . /etc/X11/Xsession

Este es el script que se ejecuta al arrancar las X y básicamente lo modificamos para que para que se ejecute x2goclient usando una sesión determinada ("a99-pro"), que no será modificable por el usuario, que no preguntará por la aceptación de las claves ssh, que no usara window manager y que presentará un botón para el apagado del thinclient (haltbt). Mas información en la página de manual de x2goclient.

Al cargar el sistema se hará el login automático y se cargarán el entorno gráfico, viéndose en pantalla:


En el home de nuestro usuario debemos incluir la configuración local para el cliente x2go. Como hemos establecido que no se puede editar por el usuario (para evitar que los usuarios lo toquen y lo desconfiguren), lo metemos a mano en este fichero:

root@thinclient:~# cat .x2goclient/sessions 
[20150619092956042]
speed=4
pack=16m-jpeg
quality=9
fstunnel=true
export=
iconvto=UTF-8
iconvfrom=ISO8859-1
useiconv=false
fullscreen=false
width=1024
multidisp=false
display=1
height=768
dpi=96
setdpi=false
xinerama=false
usekbd=true
layout=es
type=pc105/es
sound=true
soundsystem=pulse
startsoundsystem=true
soundtunnel=true
defsndport=true
sndport=4713
print=true
name=a99-pro
icon=:icons/128x128/x2gosession.png
host=a99-pro
user=usuarioprueba
key=
sshport=22
autologin=false
krblogin=false
rootless=false
published=false
applications=WWWBROWSER, MAILCLIENT, OFFICE, TERMINAL
command=/usr/bin/startxfce4
rdpoptions=
rdpserver=
xdmcpserver=localhost

Comentemos: la sesión se llama "a99-pro", por que ese es el nombre del servidor con la parte servidora de x2go al que nos conectaremos. El usuario prefijado es "usuarioprueba", que debe ser un usuario local creado en dicho servidor.  Como gestor de ventanas en la sesión remota usamos XFCE4, aunque puede ponerse cualquier otro.

Si no sabemos como definir todos los parámetros lo mejor es lanzar un cliente x2go a mano permitiendo configurar la sesión desde él. Luego el fichero "sessions" creado será el que usaremos.

Una vez escrita la contraseña se realizará la conexión:


Y una vez completada la conexión se mostrará el escritorio remoto, en este caso una sesión de XFCE completa que correrá a toda velocidad en nuestro thinclient:


Otro fichero que no se muy bien para que vale, pero ahi queda:

root@thinclient:~/.x2goclient# cat sizes 
[mainwindow]
size=@Size(533 400)
pos=@Point(24 24)
maximized=false

Por último, recordemos que al ejecutar el cliente x2go añadimos el parámetro "haltbt". Dicho parámetro añade un botón de apagado a la ventana de inicio de sesión remota de x2go, de forma que el usuario pueda apagar el thinclient desde allí, ya que como hemos dicho el cliente x2go se ejecuta a pantalla completa sin entorno de escritorio, por lo que no hay manera sencilla de apagar el dispositivo.

Dicho botón se puede ver en la siguiente imagen:


Al pulsar el botón de apagado, el cliente x2go lo que hace es crear el fichero "/home/thinclient/.halt", de manera que se notifique al sistema la intención de apagarlo. El apagado lo hacemos con el siguiente script que guardamos en /root/check-halt:

#!/bin/bash

rm -f /home/thinclient/.halt
while true
do 
   #Chequeamos cada 10 segundos la existencia del fichero .halt y en ese caso apagamos. 
   /usr/bin/test -e /home/thinclient/.halt && /sbin/halt
   /bin/sleep 10s
done
exit 0

Para arrancarlo al inicio de todo y quedarlo ejecutando de fondo eternamente ponemos en /etc/rc.local:

......
/root/check-halt &
exit 0

Una vez modificados /root/check-halt y /etc/rc.local ya tenemos todo preparado para funcionar.

Aparte de hacerlo para nuestro thinclient todo esto podemos hacerlo en general si en casa o en cualquier otro sitio tenemos un ordenador potente, que haría de servidor x2go y uno o varios PC mas modestos que queremos aprovechar como clientes.

Bueno, una vez funcionando todo ya tenemos posibilidad de montar un aula para ofimática con varios thinclients y un servidor medianamente potente. Misión cumplida.

Antes de finalizar comentaremos tres cosas mas:

Driver de vídeo radeon.

El driver que hemos usado para las X es el driver "vesa", pero la tarjeta gráfica es ATI Radeon RV100 QY [Radeon 7000/VE], asi que lo  mas adecuado es instalar el driver correcto:

# apt-get install xserver-xorg-video-radeon

Este paquete y sus dependencias siguen cabiendo en el disco (no olvidemos eso cada vez que instalemos algo). Ahora tenemos que configurar el /etc/X11/xorg.conf por defecto:

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/cyrillic"
    FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/100dpi"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
    FontPath     "built-ins"
EndSection

Section "Module"
    Load  "dri"
    Load  "glx"
    Load  "dbe"
    Load  "record"
    Load  "extmod"
    Load  "dri2"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mice"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    #DisplaySize      410   230    # mm
    Identifier   "Monitor0"
    VendorName   "GSM"
    ModelName    "E1911"
    HorizSync    30.0 - 61.0
    VertRefresh  56.0 - 75.0
    Option        "DPMS"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                # [<bool>]
        #Option     "SWcursor"               # [<bool>]
        #Option     "Dac6Bit"                # [<bool>]
        #Option     "Dac8Bit"                # [<bool>]
        #Option     "BusType"                # [<str>]
        #Option     "CPPIOMode"              # [<bool>]
        #Option     "CPusecTimeout"          # <i>
        #Option     "AGPMode"                # <i>
        #Option     "AGPFastWrite"           # [<bool>]
        #Option     "AGPSize"                # <i>
        #Option     "GARTSize"               # <i>
        #Option     "RingSize"               # <i>
        #Option     "BufferSize"             # <i>
        #Option     "EnableDepthMoves"       # [<bool>]
        #Option     "EnablePageFlip"         # [<bool>]
        #Option     "NoBackBuffer"           # [<bool>]
        #Option     "DMAForXv"               # [<bool>]
        #Option     "FBTexPercent"           # <i>
        #Option     "DepthBits"              # <i>
        #Option     "PCIAPERSize"            # <i>
        #Option     "AccelDFS"               # [<bool>]
        #Option     "IgnoreEDID"             # [<bool>]
        #Option     "CustomEDID"             # [<str>]
        #Option     "DisplayPriority"        # [<str>]
        #Option     "PanelSize"              # [<str>]
        #Option     "ForceMinDotClock"       # <freq>
        #Option     "ColorTiling"            # [<bool>]
        #Option     "VideoKey"               # <i>
        #Option     "RageTheatreCrystal"     # <i>
        #Option     "RageTheatreTunerPort"     # <i>
        #Option     "RageTheatreCompositePort"     # <i>
        #Option     "RageTheatreSVideoPort"     # <i>
        #Option     "TunerType"              # <i>
        #Option     "RageTheatreMicrocPath"     # <str>
        #Option     "RageTheatreMicrocType"     # <str>
        #Option     "ScalerWidth"            # <i>
        #Option     "RenderAccel"            # [<bool>]
        #Option     "SubPixelOrder"          # [<str>]
        #Option     "ClockGating"            # [<bool>]
        #Option     "VGAAccess"              # [<bool>]
        #Option     "ReverseDDC"             # [<bool>]
        #Option     "LVDSProbePLL"           # [<bool>]
        #Option     "AccelMethod"            # <str>
        #Option     "DRI"                    # [<bool>]
        #Option     "ConnectorTable"         # <str>
        #Option     "DefaultConnectorTable"     # [<bool>]
        #Option     "DefaultTMDSPLL"         # [<bool>]
        #Option     "TVDACLoadDetect"        # [<bool>]
        #Option     "ForceTVOut"             # [<bool>]
        #Option     "TVStandard"             # <str>
        #Option     "IgnoreLidStatus"        # [<bool>]
        #Option     "DefaultTVDACAdj"        # [<bool>]
        #Option     "Int10"                  # [<bool>]
        #Option     "EXAVSync"               # [<bool>]
        #Option     "ATOMTVOut"              # [<bool>]
        #Option     "R4xxATOM"               # [<bool>]
        #Option     "ForceLowPowerMode"      # [<bool>]
        #Option     "DynamicPM"              # [<bool>]
        #Option     "NewPLL"                 # [<bool>]
        #Option     "ZaphodHeads"            # <str>
    Identifier  "Card0"
    Driver      "radeon"
    VendorName  "ATI Technologies Inc"
    BoardName   "Radeon RV100 QY [Radeon 7000/VE]"
    BusID       "PCI:0:13:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Bueno, tras esto se supone que las X van mas rápidas. No he notado nada especial pero tampoco ha empeorado, haciendo una prueba con glxgears da 15fps, lo cual es mas que suficiente para nuestros fines.

Memorias USB

Un problema de todos los entornos de thinclients es el montaje de dispositivos USB, ya que el escritorio que se ejecuta es remoto y no hay forma sencilla de que detecte que en el cliente se ha conectado una memoria USB. El sistema de x2go es parecido al de rdesktop: no se montan. La solución dada es automontarlos sobre una carpeta determinada (/mnt por ejemplo) y compartir esa carpeta entre el x2go cliente y servidor. En la documentación de x2go viene explicado como hacerlo. Un problema que siempre queda en el aire en estos casos es como realizar un desmontaje seguro: no hay respuestas.

En nuestro caso no he hecho nada ya que no vamos a usar pendrives. Todo se hará con herramientas en la nube.

Sonido en thinclients.

Es posible redirigir el sonido del escritorio remoto desde el servidor al hardware del cliente, ya que x2go lo permite al definir la configuración de la sesión. Para ello hay que instalar y configurar alsa, esd o pulse en el cliente. Como no vamos a reproducir vídeos (por limitaciones de la conexión) ni escuchar música tampoco lo configuro. Además, puede que ese software no quepa en nuestro disco duro.

Bueno, pues podemos decir que misión cumplida. Nos sentaremos a esperar el siguiente embolado.

=========FIN DE LA CITA===========

jueves, 3 de septiembre de 2015

Reaprovechando Thinclients HP5710 (Parte 2)

Bueno, volvemos del verano y seguimos en el €, así que todo está en orden.

Estábamos intentando meter un Linux en el thinclient HP5710. Uno de los mas adecuados y completos para estos PC tan limitados es DamnSmallLinux (DSL a partir de ahora), para probarlo lo que tenemos que hacer es bajar la ISO, grabarla en un pendrive con unetbootin y arrancar desde dicho pendrive seleccionándolo como dispositivo de arranque en la BIOS del thinclient. Una vez arrancado vemos que el funciona correctamente, así que la instalamos en el disco flash del aparatejo.

Una vez instalado, arrancamos de nuevo ya sin el pendrive (vemos con sorpresa que utiliza Lilo, el predecesor de Grub, que recuerdos) y el sistema se carga correctamente y entra en el entorno gráfico de DSL. Hacemos algunas pruebas y parece que el hardware se soporta bien y se puede navegar por Internet y ejecutar los programas simples y ligeritos que trae DSL, pero recordemos que no es esta la idea que tenemos en mente. Nuestro objetivo es usarlo como thinclient, conectando a un ordenador mas potente como terminal tonto. En este punto hay que elegir entre las distintas alternativas para usar un ligente ligero:

1) Sistema LTSP

En Extremadura tenemos sobrada experiencia con esto (hasta ahora lo usamos en todas las aulas de secundaria), pero no me parece que estos thinclient sean lo bastante potentes: poca memoria y poco procesador. A fin de cuentas el LTSP necesita un terminal tonto hasta cierto punto ya que debajo se debe ejecutar un servidor X que dibuje las ventanas y otras cosas del entorno. Por ende es un tema que ya tengo muy trillado y no quería volver a montar lo mismo otra vez.

2) VNC

Ejecutar clientes VNC para conectar al servidor. No estaría mal, habría que configurar el servidor para que los clientes ligeros iniciasen una nueva sesión, en lugar de conectarse a la sesión abierta, que es el comportamiento por defecto de VND. Hay configuraciones para hacerlo como éstas. Tampoco me atraía mucho ya que VNC es un protocolo bastante lento en velocidad de refresco de pantalla y también lo tengo algo trillado.

3) RDP

El estupendo protocolo de terminal server de Microsoft, del que ya he hablado en otras ocasiones, rápido y ligero incluso en conexiones con ADSL y wifi. El cliente para esto es rdesktop, que viene incluido en DSL. Hace un tiempo descubrí que existe un software que permite convertir un Linux en un servidor RDP pero no lo había probado. El software se llama xrdp y como tenía ganas de probarlo lo instalé en un servidor de aula con

# apt-get install xrdp

 (son equipos de hace 5 años con 4 núcleos y 8Gb de RAM que usamos como servidores LTSP). Realicé la conexión desde el thinclient con:

$ rdesktop <ip>

y la verdad es fue una agradable sorpresa. Se pide usuario y contraseña, se inicia sesión dentro del servidor de aula y se ejecutan las aplicaciones del mismo (LibreOffice 4, Google Chrome y Firefox modernos) a toda velocidad y sin ningún tipo de retardo. Lo único que iba lento era la reproducción de vídeos (con navegador o VLC) por motivos obvios, de todas maneras la visualización de vídeo no es el objetivo.

Me puse a trabajar en crear usuarios locales en el servidor para conectar cada thinclient, así como poner accesos directos en el escritorio para invocar rdesktop con los parámetros adecuados (usuario de entrada ya definido por defecto y resolución de pantalla) y hacerlo todo lo mas sencillo posible.

Había una cosa que coleaba: la configuración de teclado Exceptuando las teclas del alfabeto inglés, el resto no correspondía con mi teclado. Lo fui dejando porque seguramente sería algo de configuración....ya, cuando me puse con eso vi que no iban ni Ñ, ni acentos, ni teclas de flechas y avance-retroceso de página, ni teclado numérico.... vamos, nada de nada. En Internet hay enlaces que te dicen como arreglarlo. Pues ni de coña, solucionan algunas cosas pero otras no.

Creo que es un problema de xrdp (si con rdesktop me conecto a un Windows el mapeo de teclado es totalmente correcto), que lleva mal cualquier teclado que no sea el inglés con una configuración concreta. Evidentemente si los puestos iban destinados a ofimática no podía ser... y no fue. Tuve que abandonar el prometedor xrdp, aunque me lo guardo por si alguna vez quiero acceder rápido a un escritorio completo de forma remota a una máquina sin tener que configurar ni reiniciar nada.

4) Freenx.

Buena apuesta, rápido y seguro. En su contra tenemos que es un pelín difícil de configurar y que está bastante abandonado.

Todavía hay páginas donde explican donde instalar las versiones antiguas, estaba dudando si usarlo cuando llegué a la solución correcta....


5) x2go

Tirando del hilo de Freenx llegué a x2go, un proyecto desconocido para mí. Es una alternativa (o continuación, no me queda claro) de Freenx que esta bastante viva. Hice unas pruebas con PC normales y todo iba muy bien (incluso el mapeo teclado, jaja): rápido y muy fácil de configurar (la parte servidora es instalar y listo y el cliente es dar la IP, el escritorio a ejecutar -KDE, Gnome, ...-  y poco mas). Adicionalmente tiene configuraciones para redirigir el sonido y compartir carpetas entre cliente a servidor.

El problema es que el cliente x2go no existe para DSL, ya que está basado en un Debian Etch y x2go-client aparece por primera vez en los repositorios backports de Squeeze..... no me quedaba otra que instalar Debian Squeeze en el thinclient HP.

Y eso se verá en la parte 3.

jueves, 2 de julio de 2015

Reaprovechando Thinclients HP5710 (Parte 1)

Bueno, pues se me presentan en el despacho con uno de estos aparatos donde reza HP T5710 y me dicen: "tengo un puñado de estos, ¿se pueden usar para montar un aula de ofimática?".


Espera, espera ¿qué carajos es esto?, en mi vida había visto algo parecido. Indago un poco y resulta que es un "Thinclient HP": un miniordenador que se concibió como terminal tonto que corria un Windows CE o Windows XP Embedded y conectarse a un servidor de terminales (Terminal Server o Citrix, por ejemplo) para ejecutar un sistema operativo completo. Mas o menos un sistema LTSP pero sobre software de Microsoft y similares.

El que tenía en mi poder ni siquiera arrancaba ningún sistema operativo. Podía entrar en la bios pero poco mas, asi que probé a pincharle un pendrive con un SystemRescueCD y ahora si arrancó un Linux funcional.

Vamos a ejecutar varios comandos a ver que hay aquí dentro:

root@sysresccd /root % cat /proc/cpuinfo 
processor : 0
vendor_id : GenuineTMx86
cpu family : 5
model  : 4
model name : Transmeta(tm) Crusoe(tm) Processor TM5700
stepping : 3
cpu MHz  : 798.122
cache size : 256 KB
fdiv_bug : no
hlt_bug  : no
f00f_bug : no
coma_bug : no
fpu  : yes
fpu_exception : yes
cpuid level : 1
wp  : yes
flags  : fpu vme de pse tsc msr cx8 sep cmov mmx longrun lrti constant_tsc up
bogomips : 1596.24
clflush size : 32
cache_alignment : 32
address sizes : 32 bits physical, 32 bits virtual
power management:
Mmm, que bueno, procesador Transmeta a 800Mhz, diseñado en parte por el mismísimo Linus Torvalds.

Disk /dev/sda: 512 MB, 512483328 bytes, 1000944 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1      997541      498770+  83  Linux

root@sysresccd /root % hdparm -i /dev/sda1

/dev/sda1:

 Model=512MB ATA Flash Disk, FwRev=ADBA217H, SerialNo=C001805615
 Config={ HardSect NotMFM Fixed DTR>10Mbs }
 RawCHS=993/16/63, TrkSize=0, SectSize=512, ECCbytes=4
 BuffType=DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=off
 CurCHS=993/16/63, CurSects=1000944, LBA=yes, LBAsects=1000944
 IORDY=yes, tPIO={min:120,w/IORDY:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 AdvancedPM=no WriteCache=disabled

 * signifies the current active mode
Disco duro de 512Mb sobre una memoria Flash,... medio Gb de disco duro en una precuela de los modernos SSD.

root@sysresccd /root % free
             total       used       free     shared    buffers     cached
Mem:        232676     136824      95852          0      13612      76144
-/+ buffers/cache:      47068     185608
Swap:            0          0          0
Memoria RAM de 256Mb, un poco justito para correr un thinclient con LTSP.

root@sysresccd /root % lspci -nn
00:00.0 Host bridge [0600]: Transmeta Corporation LongRun Northbridge [1279:0395] (rev 04)
00:00.1 RAM memory [0500]: Transmeta Corporation SDRAM controller [1279:0396]
00:00.2 RAM memory [0500]: Transmeta Corporation BIOS scratchpad [1279:0397]
00:00.3 RAM memory [0500]: Transmeta Corporation Device [1279:0399]
00:09.0 USB controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 61)
00:09.1 USB controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 61)
00:09.2 USB controller [0c03]: VIA Technologies, Inc. USB 2.0 [1106:3104] (rev 63)
00:0d.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV100 [Radeon 7000 / Radeon VE] [1002:5159]
00:11.0 ISA bridge [0601]: VIA Technologies, Inc. VT8231 [PCI-to-ISA Bridge] [1106:8231] (rev 10)
00:11.1 IDE interface [0101]: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE [1106:0571] (rev 06)
00:11.4 Bridge [0680]: VIA Technologies, Inc. VT8235 ACPI [1106:8235] (rev 10)
00:11.5 Multimedia audio controller [0401]: VIA Technologies, Inc. VT82C686 AC97 Audio Controller [1106:3058] (rev 40)
00:12.0 Ethernet controller [0200]: VIA Technologies, Inc. VT6102 [Rhine-II] [1106:3065] (rev 51)
root@sysresccd /root % 
Se detecta tarjeta de sonido, de video y de red. El pequeñín es un MiniPC completo, una Raspberry Pi del paleolítico. Por último, hago un dmidecode y un dmesg para ver los mensajes de arranque:

root@sysresccd /root % dmidecode 
# dmidecode 2.11
SMBIOS 2.3 present.
32 structures occupying 1002 bytes.
Table at 0x000F0800.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
 Vendor: Phoenix Technologies, LTD
 Version: 786R1 v1.07  
 Release Date: 12/10/2004
 Address: 0xE0000
 Runtime Size: 128 kB
 ROM Size: 512 kB
 Characteristics:
  PCI is supported
  PNP is supported
  BIOS is upgradeable
  BIOS shadowing is allowed
  ESCD support is available
  Boot from CD is supported
  Selectable boot is supported
  EDD is supported
  5.25"/360 kB floppy services are supported (int 13h)
  5.25"/1.2 MB floppy services are supported (int 13h)
  3.5"/720 kB floppy services are supported (int 13h)
  3.5"/2.88 MB floppy services are supported (int 13h)
  Print screen service is supported (int 5h)
  8042 keyboard services are supported (int 9h)
  Serial services are supported (int 14h)
  Printer services are supported (int 17h)
  CGA/mono video services are supported (int 10h)
  ACPI is supported
  USB legacy is supported
  BIOS boot specification is supported
  Function key-initiated network boot is supported

Handle 0x0001, DMI type 1, 25 bytes
System Information
 Manufacturer: Hewlett-Packard
 Product Name: hp t5000 series
 Version:  
 Serial Number: CNV51506Q1
 UUID: E4D16A12-B1EB-049E-D711-601DA0274CD6
 Wake-up Type: Power Switch

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
 Manufacturer: Hewlett-Packard
 Product Name: 998h
 Version:  
 Serial Number: CNV51506Q1

Handle 0x0003, DMI type 3, 17 bytes
Chassis Information
 Manufacturer: Hewlett-Packard
 Type: Desktop
 Lock: Not Present
 Version:  
 Serial Number: CNV51506Q1
 Asset Tag: 000000000000000000
 Boot-up State: Unknown
 Power Supply State: Unknown
 Thermal State: Unknown
 Security Status: Unknown
 OEM Information: 0x00000000

Handle 0x0004, DMI type 4, 35 bytes
Processor Information
 Socket Designation:       
 Type: Central Processor
 Family: Crusoe TM5000
 Manufacturer: Transmeta
 ID: 43 05 00 00 3F 89 84 00
 Version: TM5700
 Voltage: 1.3 V
 External Clock: 66 MHz
 Max Speed: 800 MHz
 Current Speed: 800 MHz
 Status: Populated, Enabled
 Upgrade: None
 L1 Cache Handle: 0x0000
 L2 Cache Handle: 0x0000
 L3 Cache Handle: Not Provided
 Serial Number:  
 Asset Tag:  
 Part Number:  

Handle 0x0005, DMI type 5, 18 bytes
Memory Controller Information
 Error Detecting Method: 8-bit Parity
 Error Correcting Capabilities:
  None
 Supported Interleave: One-way Interleave
 Current Interleave: One-way Interleave
 Maximum Memory Module Size: 1024 MB
 Maximum Total Memory Size: 1024 MB
 Supported Speeds:
  70 ns
  60 ns
 Supported Memory Types:
  Standard
  SDRAM
 Memory Module Voltage: 5.0 V
 Associated Memory Slots: 1
  0x0006
 Enabled Error Correcting Capabilities: None

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
 Socket Designation: Internal L1 Cache
 Configuration: Enabled, Not Socketed, Level 1
 Operational Mode: Write Back
 Location: Internal
 Installed Size: 128 kB
 Maximum Size: 128 kB
 Supported SRAM Types:
  Burst
 Installed SRAM Type: Burst
 Speed: Unknown
 Error Correction Type: Unknown
 System Type: Unknown
 Associativity: 8-way Set-associative

Handle 0x0007, DMI type 7, 19 bytes
Cache Information
 Socket Designation: Cache L2
 Configuration: Enabled, Not Socketed, Level 2
 Operational Mode: Write Back
 Location: Internal
 Installed Size: 256 kB
 Maximum Size: 256 kB
 Supported SRAM Types:
  Burst
 Installed SRAM Type: Burst
 Speed: Unknown
 Error Correction Type: Unknown
 System Type: Unknown
 Associativity: 8-way Set-associative

Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator: PRIMARY IDE
 Internal Connector Type: On Board IDE
 External Reference Designator: Not Specified
 External Connector Type: None
 Port Type: Other

Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator: COM1
 Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
 External Reference Designator: COMA
 External Connector Type: DB-9 male
 Port Type: Serial Port 16450 Compatible

Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator: LPT1
 Internal Connector Type: DB-25 female
 External Reference Designator: Parallel
 External Connector Type: DB-25 female
 Port Type: Parallel Port ECP/EPP

Handle 0x000B, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator:  
 Internal Connector Type: None
 External Reference Designator: Keyboard/Mouse
 External Connector Type: PS/2
 Port Type: Keyboard Port

Handle 0x000C, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator:   
 Internal Connector Type: None
 External Reference Designator: USB0
 External Connector Type: Access Bus (USB)
 Port Type: USB

Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator:   
 Internal Connector Type: None
 External Reference Designator: USB1
 External Connector Type: Access Bus (USB)
 Port Type: USB

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator:   
 Internal Connector Type: None
 External Reference Designator: USB2
 External Connector Type: Access Bus (USB)
 Port Type: USB

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator:   
 Internal Connector Type: None
 External Reference Designator: USB3
 External Connector Type: Access Bus (USB)
 Port Type: USB

Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator: Not Specified
 Internal Connector Type: None
 External Reference Designator: VGA
 External Connector Type: DB-15 female
 Port Type: Video Port

Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator:  
 Internal Connector Type: None
 External Reference Designator: Line Out
 External Connector Type: Mini Jack (headphones)
 Port Type: Audio Port

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator:  
 Internal Connector Type: None
 External Reference Designator: Microphone
 External Connector Type: Mini Jack (headphones)
 Port Type: Audio Port

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
 Internal Reference Designator: Not Specified
 Internal Connector Type: None
 External Reference Designator: LAN
 External Connector Type: RJ-45
 Port Type: Network Port

Handle 0x0014, DMI type 9, 13 bytes
System Slot Information
 Designation: PCI0
 Type: 32-bit PCI
 Current Usage: Available
 Length: Short
 ID: 1
 Characteristics:
  5.0 V is provided
  PME signal is supported

Handle 0x0015, DMI type 13, 22 bytes
BIOS Language Information
 Language Description Format: Long
 Installable Languages: 3
  n|US|iso8859-1
  n|US|iso8859-1
  r|CA|iso8859-1
 Currently Installed Language: n|US|iso8859-1

Handle 0x0016, DMI type 16, 15 bytes
Physical Memory Array
 Location: System Board Or Motherboard
 Use: System Memory
 Error Correction Type: None
 Maximum Capacity: 1 GB
 Error Information Handle: 0x0000
 Number Of Devices: 1

Handle 0x0017, DMI type 17, 27 bytes
Memory Device
 Array Handle: 0x0016
 Error Information Handle: Not Provided
 Total Width: 64 bits
 Data Width: 64 bits
 Size: 256 MB
 Form Factor: SODIMM
 Set: None
 Locator: A0
 Bank Locator:  
 Type: DDR
 Type Detail: None
 Speed: Unknown
 Manufacturer: None
 Serial Number: None
 Asset Tag: None
 Part Number: None

Handle 0x0018, DMI type 19, 15 bytes
Memory Array Mapped Address
 Starting Address: 0x00000000000
 Ending Address: 0x000100003FF
 Range Size: 262145 kB
 Physical Array Handle: 0x0016
 Partition Width: 1

Handle 0x0019, DMI type 20, 19 bytes
Memory Device Mapped Address
 Starting Address: 0x00000000000
 Ending Address: 0x000100003FF
 Range Size: 262145 kB
 Physical Device Handle: 0x0017
 Memory Array Mapped Address Handle: 0x0018
 Partition Row Position: 1

Handle 0x001A, DMI type 16, 15 bytes
Physical Memory Array
 Location: System Board Or Motherboard
 Use: Flash Memory
 Error Correction Type: None
 Maximum Capacity: 2 MB
 Error Information Handle: Not Provided
 Number Of Devices: 1

Handle 0x001B, DMI type 17, 27 bytes
Memory Device
 Array Handle: 0x001A
 Error Information Handle: Not Provided
 Total Width: 8 bits
 Data Width: 8 bits
 Size: 2048 kB
 Form Factor: Chip
 Set: None
 Locator: U16
 Bank Locator:  
 Type: Flash
 Type Detail: Non-Volatile
 Speed: 33 MHz
 Manufacturer: None
 Serial Number: None
 Asset Tag: None
 Part Number: None

Handle 0x001C, DMI type 19, 15 bytes
Memory Array Mapped Address
 Starting Address: 0x000FFF80000
 Ending Address: 0x001000003FF
 Range Size: 513 kB
 Physical Array Handle: 0x001A
 Partition Width: 1

Handle 0x001D, DMI type 20, 19 bytes
Memory Device Mapped Address
 Starting Address: 0x000FFF80000
 Ending Address: 0x001000003FF
 Range Size: 513 kB
 Physical Device Handle: 0x001B
 Memory Array Mapped Address Handle: 0x001C
 Partition Row Position: 1

Handle 0x001F, DMI type 127, 4 bytes
End Of Table

Handle 0x001E, DMI type 11, 5 bytes
 

Wrong DMI structures length: 1002 bytes announced, structures occupy 1003 bytes.

root@sysresccd /root % dmesg
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.4.47-std370-i586 (root@catalyst) (gcc version 4.4.7 (Gentoo 4.4.7 p1.2, pie-0.4.5) ) #2 SMP Mon Jun 3 08:19:24 UTC 2013
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009b000 (usable)
[    0.000000]  BIOS-e820: 000000000009b000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000000eff0000 (usable)
[    0.000000]  BIOS-e820: 000000000eff0000 - 000000000eff3000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000000eff3000 - 000000000f000000 (ACPI data)
[    0.000000]  BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
[    0.000000] Notice: NX (Execute Disable) protection missing in CPU!
[    0.000000] SMBIOS 2.3 present.
[    0.000000] DMI: Hewlett-Packard hp t5000 series/998h, BIOS 786R1 v1.07   12/10/2004
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] last_pfn = 0xeff0 max_arch_pfn = 0x100000
[    0.000000] initial memory mapped : 0 - 01800000
[    0.000000] Base memory trampoline at [c009a000] 9a000 size 4096
[    0.000000] init_memory_mapping: 0000000000000000-000000000eff0000
[    0.000000]  0000000000 - 0000400000 page 4k
[    0.000000]  0000400000 - 000ec00000 page 2M
[    0.000000]  000ec00000 - 000eff0000 page 4k
[    0.000000] kernel direct mapping tables up to 0xefeffff @ [mem 0x017f7000-0x017fffff]
[    0.000000] RAMDISK: 0e4c5000 - 0efee000
[    0.000000] ACPI: RSDP 000f6620 00014 (v00 I-BASE)
[    0.000000] ACPI: RSDT 0eff3000 00028 (v01 I-BASE AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: FACP 0eff3040 00074 (v01 I-BASE AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: DSDT 0eff30c0 01C16 (v01 I-BASE AWRDACPI 00001000 MSFT 0100000C)
[    0.000000] ACPI: FACS 0eff0000 00040
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 239MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 0eff0000
[    0.000000]   low ram: 0 - 0eff0000
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x0000eff0
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009b
[    0.000000]     0: 0x00000100 -> 0x0000eff0
[    0.000000] On node 0 totalpages: 61307
[    0.000000] free_area_init_node: node 0, pgdat c0cd62c0, node_mem_map ce2e5200
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 3947 pages, LIFO batch:0
[    0.000000]   Normal zone: 448 pages used for memmap
[    0.000000]   Normal zone: 56880 pages, LIFO batch:15
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x4008
[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] No local APIC present or hardware disabled
[    0.000000] APIC: disable apic facility
[    0.000000] APIC: switched to apic NOOP
[    0.000000] nr_irqs_gsi: 16
[    0.000000] Allocating PCI resources starting at f000000 (gap: f000000:f0ff0000)
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:1 nr_node_ids:1
[    0.000000] PERCPU: Embedded 13 pages/cpu @ce2d5000 s31296 r0 d21952 u53248
[    0.000000] pcpu-alloc: s31296 r0 d21952 u53248 alloc=13*4096
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 60827
[    0.000000] Kernel command line: initrd=initram.igz BOOT_IMAGE=rescue32 scandelay=5
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] allocated 491264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Initializing HighMem for node 0 (00000000:00000000)
[    0.000000] Memory: 213100k/245696k available (6069k kernel code, 32128k reserved, 3067k data, 8120k init, 0k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffa95000 - 0xfffff000   (5544 kB)
[    0.000000]     pkmap   : 0xff400000 - 0xff800000   (4096 kB)
[    0.000000]     vmalloc : 0xcf7f0000 - 0xff3fe000   ( 764 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xceff0000   ( 239 MB)
[    0.000000]       .init : 0xc0ced000 - 0xc14db000   (8120 kB)
[    0.000000]       .data : 0xc09ed4d1 - 0xc0cec1c0   (3067 kB)
[    0.000000]       .text : 0xc0400000 - 0xc09ed4d1   (6069 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] SLUB: Genslabs=15, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:2304 nr_irqs:256 16
[    0.000000] CPU 0 irqstacks, hard=cdc08000 soft=cdc0a000
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] Fast TSC calibration failed
[    0.000000] TSC: PIT calibration matches PMTIMER. 3 loops
[    0.000000] Detected 798.122 MHz processor.
[    0.007047] Calibrating delay loop (skipped), value calculated using timer frequency.. 1596.24 BogoMIPS (lpj=798122)
[    0.011427] pid_max: default: 32768 minimum: 301
[    0.025206] Security Framework initialized
[    0.025493] SELinux:  Disabled at boot.
[    0.037296] Mount-cache hash table entries: 512
[    0.060123] Initializing cgroup subsys cpuacct
[    0.060335] Initializing cgroup subsys memory
[    0.061224] Initializing cgroup subsys devices
[    0.061419] Initializing cgroup subsys freezer
[    0.061596] Initializing cgroup subsys net_cls
[    0.061773] Initializing cgroup subsys blkio
[    0.062043] Initializing cgroup subsys perf_event
[    0.065416] CPU: Processor revision 1.5.0.2, 800 MHz
[    0.065607] CPU: Code Morphing Software revision 4.5.2-12-11
[    0.065785] CPU: 20040614 15:00 official release 4.5.2#1
[    0.066030] CPU serial number disabled.
[    0.068576] SMP alternatives: switching to UP code
[    0.152773] Freeing SMP alternatives: 28k freed
[    0.156344] ACPI: Core revision 20120320
[    0.229825] ACPI: setting ELCR to 0200 (from 8e20)
[    0.235710] weird, boot CPU (#0) not listed by the BIOS.
[    0.236036] SMP motherboard not detected.
[    0.236834] Local APIC not detected. Using dummy APIC emulation.
[    0.237099] SMP disabled
[    0.237316] Performance Events: 
[    0.261341] NMI watchdog: disabled (cpu0): hardware events not enabled
[    0.265170] Brought up 1 CPUs
[    0.265538] Total of 1 processors activated (1596.24 BogoMIPS).
[    0.285644] devtmpfs: initialized
[    0.316156] atomic64 test passed for i386+ platform with CX8 and without SSE
[    0.322339] NET: Registered protocol family 16
[    0.337302] ACPI: bus type pci registered
[    0.342493] PCI: PCI BIOS revision 2.10 entry at 0xfa290, last bus=0
[    0.342709] PCI: Using configuration type 1 for base access
[    0.383513] bio: create slab  at 0
[    0.409681] ACPI: Added _OSI(Module Device)
[    0.410771] ACPI: Added _OSI(Processor Device)
[    0.410997] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.411367] ACPI: Added _OSI(Processor Aggregator Device)
[    0.418127] ACPI: EC: Look up EC in DSDT
[    0.504526] ACPI: Interpreter enabled
[    0.504919] ACPI: (supports S0 S5)
[    0.505507] ACPI: Using PIC for interrupt routing
[    0.601362] ACPI: No dock devices found.
[    0.601759] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
[    0.607292] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.615850] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored)
[    0.616002] pci_root PNP0A03:00: host bridge window [io  0x0d00-0x3fff] (ignored)
[    0.616075] pci_root PNP0A03:00: host bridge window [io  0x4100-0x4fff] (ignored)
[    0.616235] pci_root PNP0A03:00: host bridge window [io  0x5010-0xffff] (ignored)
[    0.616468] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] (ignored)
[    0.616733] pci_root PNP0A03:00: host bridge window [mem 0x000c0000-0x000dffff] (ignored)
[    0.616915] pci_root PNP0A03:00: host bridge window [mem 0x0f000000-0xffefffff] (ignored)
[    0.616960] PCI: root bus 00: using default resources
[    0.618142] PCI host bridge to bus 0000:00
[    0.618914] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.618989] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffff]
[    0.619285] pci 0000:00:00.0: [1279:0395] type 00 class 0x060000
[    0.620101] pci 0000:00:00.0: reg 10: [mem 0xe8000000-0xe80fffff]
[    0.622250] pci 0000:00:00.1: [1279:0396] type 00 class 0x050000
[    0.625025] pci 0000:00:00.2: [1279:0397] type 00 class 0x050000
[    0.626501] pci 0000:00:00.3: [1279:0399] type 00 class 0x050000
[    0.628830] pci 0000:00:09.0: [1106:3038] type 00 class 0x0c0300
[    0.629597] pci 0000:00:09.0: reg 20: [io  0xe000-0xe01f]
[    0.630405] pci 0000:00:09.0: supports D1 D2
[    0.630430] pci 0000:00:09.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.630895] pci 0000:00:09.1: [1106:3038] type 00 class 0x0c0300
[    0.631040] pci 0000:00:09.1: reg 20: [io  0xe100-0xe11f]
[    0.631792] pci 0000:00:09.1: supports D1 D2
[    0.631814] pci 0000:00:09.1: PME# supported from D0 D1 D2 D3hot D3cold
[    0.631993] pci 0000:00:09.2: [1106:3104] type 00 class 0x0c0320
[    0.632159] pci 0000:00:09.2: reg 10: [mem 0xe8131000-0xe81310ff]
[    0.632476] pci 0000:00:09.2: supports D1 D2
[    0.632496] pci 0000:00:09.2: PME# supported from D0 D1 D2 D3hot D3cold
[    0.633015] pci 0000:00:0d.0: [1002:5159] type 00 class 0x030000
[    0.633912] pci 0000:00:0d.0: reg 10: [mem 0xe0000000-0xe7ffffff pref]
[    0.633978] pci 0000:00:0d.0: reg 14: [io  0xe200-0xe2ff]
[    0.634016] pci 0000:00:0d.0: reg 18: [mem 0xe8120000-0xe812ffff]
[    0.634298] pci 0000:00:0d.0: reg 30: [mem 0x00000000-0x0001ffff pref]
[    0.635094] pci 0000:00:0d.0: supports D1 D2
[    0.635657] pci 0000:00:11.0: [1106:8231] type 00 class 0x060100
[    0.635970] pci 0000:00:11.1: [1106:0571] type 00 class 0x01018a
[    0.636063] pci 0000:00:11.1: reg 20: [io  0xe300-0xe30f]
[    0.636765] pci 0000:00:11.4: [1106:8235] type 00 class 0x068000
[    0.637163] pci 0000:00:11.5: [1106:3058] type 00 class 0x040100
[    0.637225] pci 0000:00:11.5: reg 10: [io  0xe600-0xe6ff]
[    0.637517] pci 0000:00:11.5: reg 14: [io  0xe700-0xe703]
[    0.637555] pci 0000:00:11.5: reg 18: [io  0xe800-0xe803]
[    0.637731] pci 0000:00:12.0: [1106:3065] type 00 class 0x020000
[    0.637894] pci 0000:00:12.0: reg 10: [io  0xe900-0xe9ff]
[    0.637961] pci 0000:00:12.0: reg 14: [mem 0xe8130000-0xe81300ff]
[    0.638361] pci 0000:00:12.0: supports D1 D2
[    0.638381] pci 0000:00:12.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.638586] pci_bus 0000:00: on NUMA node 0
[    0.638638] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.644688]  pci0000:00: Unable to request _OSC control (_OSC support mask: 0x1e)
[    0.695771] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 11 12 14 *15)
[    0.699148] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 *5 6 7 10 11 12 14 15)
[    0.702064] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 *10 11 12 14 15)
[    0.706979] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 10 *11 12 14 15)
[    0.711567] vgaarb: device added: PCI:0000:00:0d.0,decodes=io+mem,owns=io+mem,locks=none
[    0.712411] vgaarb: loaded
[    0.712594] vgaarb: bridge control possible 0000:00:0d.0
[    0.715520] SCSI subsystem initialized
[    0.718251] libata version 3.00 loaded.
[    0.719361] usbcore: registered new interface driver usbfs
[    0.720419] usbcore: registered new interface driver hub
[    0.722250] usbcore: registered new device driver usb
[    0.726968] PCI: Using ACPI for IRQ routing
[    0.727372] PCI: pci_cache_line_size set to 32 bytes
[    0.731985] reserve RAM buffer: 000000000009b000 - 000000000009ffff 
[    0.732146] reserve RAM buffer: 000000000eff0000 - 000000000fffffff 
[    0.737349] NetLabel: Initializing
[    0.737550] NetLabel:  domain hash size = 128
[    0.737718] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.740933] NetLabel:  unlabeled traffic allowed by default
[    0.742311] Switching to clocksource pit
[    0.824587] pnp: PnP ACPI init
[    0.824897] ACPI: bus type pnp registered
[    0.829064] pnp 00:00: [mem 0x000d6000-0x000d7fff]
[    0.829105] pnp 00:00: [mem 0x000f0000-0x000f7fff]
[    0.829129] pnp 00:00: [mem 0x000f8000-0x000fbfff]
[    0.829228] pnp 00:00: [mem 0x000fc000-0x000fffff]
[    0.829254] pnp 00:00: [mem 0x0eff0000-0x0effffff]
[    0.829278] pnp 00:00: [mem 0xffff0000-0xffffffff]
[    0.829487] pnp 00:00: [mem 0x00000000-0x0009ffff]
[    0.829522] pnp 00:00: [mem 0x00100000-0x0efeffff]
[    0.829546] pnp 00:00: [mem 0xfee00000-0xfee00fff]
[    0.832388] system 00:00: [mem 0x000d6000-0x000d7fff] has been reserved
[    0.832613] system 00:00: [mem 0x000f0000-0x000f7fff] could not be reserved
[    0.832971] system 00:00: [mem 0x000f8000-0x000fbfff] could not be reserved
[    0.833244] system 00:00: [mem 0x000fc000-0x000fffff] could not be reserved
[    0.833446] system 00:00: [mem 0x0eff0000-0x0effffff] could not be reserved
[    0.833803] system 00:00: [mem 0xffff0000-0xffffffff] has been reserved
[    0.834009] system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
[    0.834257] system 00:00: [mem 0x00100000-0x0efeffff] could not be reserved
[    0.834457] system 00:00: [mem 0xfee00000-0xfee00fff] has been reserved
[    0.834682] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.836475] pnp 00:01: [bus 00-ff]
[    0.836510] pnp 00:01: [io  0x0cf8-0x0cff]
[    0.836712] pnp 00:01: [io  0x0000-0x0cf7 window]
[    0.836752] pnp 00:01: [io  0x0d00-0x3fff window]
[    0.837081] pnp 00:01: [io  0x4000-0x407f]
[    0.837468] pnp 00:01: [io  0x4080-0x40ff]
[    0.837505] pnp 00:01: [io  0x4100-0x4fff window]
[    0.837525] pnp 00:01: [io  0x5000-0x500f]
[    0.837552] pnp 00:01: [io  0x5010-0xffff window]
[    0.837577] pnp 00:01: [mem 0x000a0000-0x000bffff window]
[    0.837602] pnp 00:01: [mem 0x000c0000-0x000dffff window]
[    0.837626] pnp 00:01: [mem 0x0f000000-0xffefffff window]
[    0.839560] pnp 00:01: Plug and Play ACPI device, IDs PNP0a03 (active)
[    0.840597] pnp 00:02: [io  0x0010-0x001f]
[    0.840632] pnp 00:02: [io  0x0022-0x003f]
[    0.840652] pnp 00:02: [io  0x0044-0x005f]
[    0.840670] pnp 00:02: [io  0x0062-0x0063]
[    0.840688] pnp 00:02: [io  0x0065-0x006f]
[    0.840706] pnp 00:02: [io  0x0074-0x007f]
[    0.841626] pnp 00:02: [io  0x0091-0x0093]
[    0.841830] pnp 00:02: [io  0x00a2-0x00bf]
[    0.841848] pnp 00:02: [io  0x00e0-0x00ef]
[    0.841861] pnp 00:02: [io  0x04d0-0x04d1]
[    0.842649] system 00:02: [io  0x04d0-0x04d1] has been reserved
[    0.842887] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.845501] pnp 00:03: [dma 4]
[    0.845527] pnp 00:03: [io  0x0000-0x000f]
[    0.845717] pnp 00:03: [io  0x0080-0x0090]
[    0.845734] pnp 00:03: [io  0x0094-0x009f]
[    0.845746] pnp 00:03: [io  0x00c0-0x00df]
[    0.846224] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.846588] pnp 00:04: [io  0x0070-0x0073]
[    0.846637] pnp 00:04: [irq 8]
[    0.846947] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.847046] pnp 00:05: [io  0x0061]
[    0.847291] pnp 00:05: Plug and Play ACPI device, IDs PNP0800 (active)
[    0.847814] pnp 00:06: [io  0x00f0-0x00ff]
[    0.848107] pnp 00:06: [irq 13]
[    0.848514] pnp 00:06: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.850131] pnp 00:07: [io  0x03f8-0x03ff]
[    0.850260] pnp 00:07: [irq 4]
[    0.852603] pnp 00:07: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.855390] pnp 00:08: [io  0x0378-0x037f]
[    0.855412] pnp 00:08: [io  0x0778-0x077b]
[    0.855454] pnp 00:08: [irq 7]
[    0.855479] pnp 00:08: [dma 3]
[    0.857512] pnp 00:08: Plug and Play ACPI device, IDs PNP0401 (active)
[    0.857809] pnp 00:09: [io  0x0060]
[    0.857824] pnp 00:09: [io  0x0064]
[    0.857859] pnp 00:09: [irq 1]
[    0.858415] pnp 00:09: Plug and Play ACPI device, IDs PNP0303 PNP030b (active)
[    0.858890] pnp: PnP ACPI: found 10 devices
[    0.859094] ACPI: ACPI bus type pnp unregistered
[    0.952255] Switching to clocksource acpi_pm
[    0.954110] pci 0000:00:0d.0: BAR 6: assigned [mem 0x10000000-0x1001ffff pref]
[    0.954674] pci_bus 0000:00: resource 4 [io  0x0000-0xffff]
[    0.954696] pci_bus 0000:00: resource 5 [mem 0x00000000-0xffffffff]
[    0.955820] NET: Registered protocol family 2
[    0.962394] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.973541] hrtimer: interrupt took 5798031 ns
[    0.982544] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.983377] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.983895] TCP: Hash tables configured (established 8192 bind 8192)
[    0.984302] TCP: reno registered
[    0.984526] UDP hash table entries: 128 (order: 0, 4096 bytes)
[    0.985288] UDP-Lite hash table entries: 128 (order: 0, 4096 bytes)
[    0.987849] NET: Registered protocol family 1
[    0.992803] RPC: Registered named UNIX socket transport module.
[    0.993008] RPC: Registered udp transport module.
[    0.993248] RPC: Registered tcp transport module.
[    0.993425] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.998006] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 15
[    0.998309] PCI: setting IRQ 15 as level-triggered
[    1.001210] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
[    1.001416] PCI: setting IRQ 5 as level-triggered
[    1.003793] ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
[    1.004000] PCI: setting IRQ 10 as level-triggered
[    1.004622] pci 0000:00:0d.0: Boot video device
[    1.004718] PCI: CLS 32 bytes, default 32
[    1.213832] Unpacking initramfs...
[    6.231345] Freeing initrd memory: 11428k freed
[    6.272394] audit: initializing netlink socket (disabled)
[    6.272776] type=2000 audit(1434361353.271:1): initialized
[    6.420372] HugeTLB registered 4 MB page size, pre-allocated 0 pages
[    6.434787] VFS: Disk quotas dquot_6.5.2
[    6.435595] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    6.441473] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    6.442634] NFS: Registering the id_resolver key type
[    6.444728] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    6.445197] NTFS driver 2.1.30 [Flags: R/O].
[    6.451799] fuse init (API version 7.18)
[    6.453604] JFS: nTxBlock = 1754, nTxLock = 14034
[    6.459632] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
[    6.465434] Btrfs loaded
[    6.466869] aufs 3.4-20130506
[    6.467569] msgmni has been set to 438
[    6.507500] alg: No test for stdrng (krng)
[    6.508287] NET: Registered protocol family 38
[    6.508656] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    6.510618] io scheduler noop registered
[    6.510817] io scheduler deadline registered
[    6.511173] io scheduler cfq registered (default)
[    6.522452] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    6.522869] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    6.523121] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    6.530341] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
[    6.530984] ACPI: Power Button [PWRB]
[    6.532316] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    6.532688] ACPI: Power Button [PWRF]
[    6.534129] input: Sleep Button as /devices/LNXSYSTM:00/LNXSLPBN:00/input/input2
[    6.534502] ACPI: Sleep Button [SLPF]
[    6.537423] Marking TSC unstable due to TSC halts in idle
[    6.537701] ACPI: acpi_idle registered with cpuidle
[    6.549489] GHES: HEST is not enabled!
[    6.549808] isapnp: Scanning for PnP cards...
[    6.911523] isapnp: No Plug & Play device found
[    6.912507] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    6.936632] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    6.968347] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    6.971828] Non-volatile memory driver v1.3
[    6.972129] Linux agpgart interface v0.103
[    6.985292] loop: module loaded
[    6.989996] Fixed MDIO Bus: probed
[    6.992193] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.992816] ehci_hcd 0000:00:09.2: EHCI Host Controller
[    6.993673] ehci_hcd 0000:00:09.2: new USB bus registered, assigned bus number 1
[    6.994894] ehci_hcd 0000:00:09.2: irq 10, io mem 0xe8131000
[    7.001556] ehci_hcd 0000:00:09.2: USB 2.0 started, EHCI 1.00
[    7.003004] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    7.003272] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.003588] usb usb1: Product: EHCI Host Controller
[    7.003762] usb usb1: Manufacturer: Linux 3.4.47-std370-i586 ehci_hcd
[    7.003937] usb usb1: SerialNumber: 0000:00:09.2
[    7.006296] hub 1-0:1.0: USB hub found
[    7.006803] hub 1-0:1.0: 4 ports detected
[    7.015141] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    7.015415] uhci_hcd: USB Universal Host Controller Interface driver
[    7.015896] uhci_hcd 0000:00:09.0: UHCI Host Controller
[    7.017205] uhci_hcd 0000:00:09.0: new USB bus registered, assigned bus number 2
[    7.017705] uhci_hcd 0000:00:09.0: irq 15, io base 0x0000e000
[    7.019570] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    7.019771] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.020149] usb usb2: Product: UHCI Host Controller
[    7.020324] usb usb2: Manufacturer: Linux 3.4.47-std370-i586 uhci_hcd
[    7.020498] usb usb2: SerialNumber: 0000:00:09.0
[    7.023177] hub 2-0:1.0: USB hub found
[    7.023893] hub 2-0:1.0: 2 ports detected
[    7.026590] uhci_hcd 0000:00:09.1: UHCI Host Controller
[    7.028153] uhci_hcd 0000:00:09.1: new USB bus registered, assigned bus number 3
[    7.028644] uhci_hcd 0000:00:09.1: irq 5, io base 0x0000e100
[    7.031448] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    7.031653] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.031966] usb usb3: Product: UHCI Host Controller
[    7.032202] usb usb3: Manufacturer: Linux 3.4.47-std370-i586 uhci_hcd
[    7.032381] usb usb3: SerialNumber: 0000:00:09.1
[    7.034723] hub 3-0:1.0: USB hub found
[    7.034988] hub 3-0:1.0: 2 ports detected
[    7.038336] usbcore: registered new interface driver usbserial
[    7.038858] usbcore: registered new interface driver usbserial_generic
[    7.039213] USB Serial support registered for generic
[    7.039579] usbserial: USB Serial Driver core
[    7.040812] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[    7.041001] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    7.041906] serio: i8042 KBD port at 0x60,0x64 irq 1
[    7.043578] mousedev: PS/2 mouse device common for all mice
[    7.046945] rtc_cmos 00:04: RTC can wake from S4
[    7.050482] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    7.051564] rtc0: alarms up to one year, y3k, 242 bytes nvram
[    7.052851] device-mapper: uevent: version 1.0.3
[    7.054555] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
[    7.057104] cpuidle: using governor ladder
[    7.058295] cpuidle: using governor menu
[    7.063291] EFI Variables Facility v0.08 2004-May-17
[    7.066828] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[    7.068480] usbcore: registered new interface driver usbhid
[    7.068668] usbhid: USB HID core driver
[    7.077510] ip_tables: (C) 2000-2006 Netfilter Core Team
[    7.078488] TCP: cubic registered
[    7.078674] Initializing XFRM netlink socket
[    7.079755] NET: Registered protocol family 10
[    7.086873] Mobile IPv6
[    7.087559] NET: Registered protocol family 17
[    7.088211] Registering the dns_resolver key type
[    7.090546] Using IPI No-Shortcut mode
[    7.092161] registered taskstats version 1
[    7.100200] rtc_cmos 00:04: setting system clock to 2015-06-15 09:42:35 UTC (1434361355)
[    7.103348] Initializing network drop monitor service
[    7.107658] Freeing unused kernel memory: 8120k freed
[    7.135257] Write protecting the kernel text: 6072k
[    7.135904] Write protecting the kernel read-only data: 2564k
[    7.360629] usb 1-2: new high-speed USB device number 2 using ehci_hcd
[    7.494182] usb 1-2: New USB device found, idVendor=0781, idProduct=5406
[    7.494441] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.494675] usb 1-2: Product: U3 Cruzer Micro
[    7.494887] usb 1-2: Manufacturer: SanDisk
[    7.495156] usb 1-2: SerialNumber: 500183165D81D985
[    7.910435] usb 3-1: new low-speed USB device number 2 using uhci_hcd
[    8.074847] usb 3-1: New USB device found, idVendor=046d, idProduct=c050
[    8.074876] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    8.074893] usb 3-1: Product: USB-PS/2 Optical Mouse
[    8.074905] usb 3-1: Manufacturer: Logitech
[    8.103714] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:09.1/usb3/3-1/3-1:1.0/input/input4
[    8.104598] generic-usb 0003:046D:C050.0001: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:09.1-1/input0
[   11.256601] pata_via 0000:00:11.1: version 0.3.4
[   11.441653] scsi0 : pata_via
[   11.458297] via_rhine: v1.10-LK1.5.0 2010-10-09 Written by Donald Becker
[   11.461547] scsi1 : pata_via
[   11.462184] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xe300 irq 14
[   11.462215] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xe308 irq 15
[   11.629951] ata1.00: CFA:  512MB ATA Flash Disk, ADBA217H, max PIO4
[   11.629984] ata1.00: 1000944 sectors, multi 0: LBA 
[   11.637852] ata1.00: configured for PIO4
[   11.641926] scsi 0:0:0:0: Direct-Access     ATA       512MB ATA Flash ADBA PQ: 0 ANSI: 5
[   11.645718] sd 0:0:0:0: [sda] 1000944 512-byte logical blocks: (512 MB/488 MiB)
[   11.655308] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   11.659768] ata2: port disabled--ignoring
[   11.663235] sd 0:0:0:0: [sda] Write Protect is off
[   11.663269] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   11.668504] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   11.673748] via-rhine 0000:00:12.0: eth0: VIA Rhine II at 0xe8130000, 00:11:85:e3:40:5a, IRQ 15
[   11.675256] via-rhine 0000:00:12.0: eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 45e1
[   11.738761] Initializing USB Mass Storage driver...
[   11.763572]  sda: sda1
[   11.786218] sd 0:0:0:0: [sda] Attached SCSI disk
[   11.849194] scsi2 : usb-storage 1-2:1.0
[   11.893808] usbcore: registered new interface driver usb-storage
[   11.893834] USB Mass Storage support registered.
[   12.184144] [drm] Initialized drm 1.1.0 20060810
[   12.597278] [drm] radeon defaulting to kernel modesetting.
[   12.597305] [drm] radeon kernel modesetting enabled.
[   12.609456] ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
[   12.609495] PCI: setting IRQ 11 as level-triggered
[   12.616404] [drm] initializing kernel modesetting (RV100 0x1002:0x5159 0x1002:0x5159).
[   12.618216] [drm] register mmio base: 0xE8120000
[   12.618234] [drm] register mmio size: 65536
[   12.625148] radeon 0000:00:0d.0: VRAM: 128M 0x00000000E0000000 - 0x00000000E7FFFFFF (16M used)
[   12.625184] radeon 0000:00:0d.0: GTT: 512M 0x00000000C0000000 - 0x00000000DFFFFFFF
[   12.625326] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[   12.625342] [drm] Driver supports precise vblank timestamp query.
[   12.625489] [drm] radeon: irq initialized.
[   12.625512] [drm] Detected VRAM RAM=128M, BAR=128M
[   12.625526] [drm] RAM width 32bits DDR
[   12.631753] [TTM] Zone  kernel: Available graphics memory: 116338 kiB
[   12.631775] [TTM] Initializing pool allocator
[   12.632630] [drm] radeon: 16M of VRAM memory ready
[   12.632665] [drm] radeon: 512M of GTT memory ready.
[   12.632806] [drm] GART: num cpu pages 131072, num gpu pages 131072
[   12.669625] [drm] radeon: ib pool ready.
[   12.698613] [drm] PCIE GART of 512M enabled (table at 0x000000000EB00000).
[   12.739377] radeon 0000:00:0d.0: WB disabled
[   12.739445] [drm] fence driver on ring 0 use gpu addr 0xc0000000 and cpu addr 0xce896000
[   12.741999] [drm] Loading R100 Microcode
[   12.859551] scsi 2:0:0:0: Direct-Access     SanDisk  Cruzer           8.01 PQ: 0 ANSI: 0 CCS
[   12.922417] sd 2:0:0:0: [sdb] 7843839 512-byte logical blocks: (4.01 GB/3.73 GiB)
[   12.927177] sd 2:0:0:0: [sdb] Write Protect is off
[   12.927215] sd 2:0:0:0: [sdb] Mode Sense: 45 00 00 08
[   12.932568] sd 2:0:0:0: Attached scsi generic sg1 type 0
[   12.946569] sd 2:0:0:0: [sdb] No Caching mode page present
[   12.946601] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   12.970469] [drm] radeon: ring at 0x00000000C0001000
[   12.971649] sd 2:0:0:0: [sdb] No Caching mode page present
[   12.971677] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   12.980430] [drm] ring test succeeded in 0 usecs
[   12.982463]  sdb: sdb1
[   12.986883] [drm] ib test succeeded in 0 usecs
[   13.000897] sd 2:0:0:0: [sdb] No Caching mode page present
[   13.000928] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   13.000956] sd 2:0:0:0: [sdb] Attached SCSI removable disk
[   13.028426] [drm] Radeon Display Connectors
[   13.028447] [drm] Connector 0:
[   13.028456] [drm]   VGA
[   13.028471] [drm]   DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[   13.028482] [drm]   Encoders:
[   13.028493] [drm]     CRT1: INTERNAL_DAC1
[   13.260750] [drm] fb mappable at 0xE0040000
[   13.260776] [drm] vram apper at 0xE0000000
[   13.260851] [drm] size 786432
[   13.260863] [drm] fb depth is 8
[   13.260873] [drm]    pitch is 1024
[   13.267374] fbcon: radeondrmfb (fb0) is primary device
[   13.473384] Console: switching to colour frame buffer device 128x48
[   13.489125] fb0: radeondrmfb frame buffer device
[   13.489144] drm: registered panic notifier
[   13.489892] [drm] Initialized radeon 2.16.0 20080528 for 0000:00:0d.0 on minor 0
[   42.083706] md: linear personality registered for level -1
[   42.095545] md: multipath personality registered for level -4
[   42.107461] md: raid0 personality registered for level 0
[   42.122311] md: raid1 personality registered for level 1
[   42.135359] async_tx: api initialized (async)
[   42.144896] xor: measuring software checksum speed
[   42.149077]    8regs     :   912.000 MB/sec
[   42.154052]    8regs_prefetch:   916.000 MB/sec
[   42.159052]    32regs    :   572.000 MB/sec
[   42.165060]    32regs_prefetch:   568.000 MB/sec
[   42.170061]    pII_mmx   :  1608.000 MB/sec
[   42.175132]    p5_mmx    :  1544.000 MB/sec
[   42.175157] xor: using function: pII_mmx (1608.000 MB/sec)
[   42.210093] raid6: int32x1    222 MB/s
[   42.227173] raid6: int32x2    246 MB/s
[   42.244099] raid6: int32x4    214 MB/s
[   42.261410] raid6: int32x8    109 MB/s
[   42.278129] raid6: mmxx1      242 MB/s
[   42.295111] raid6: mmxx2      445 MB/s
[   42.295142] raid6: using algorithm mmxx2 (445 MB/s)
[   42.317850] md: raid6 personality registered for level 6
[   42.317876] md: raid5 personality registered for level 5
[   42.317889] md: raid4 personality registered for level 4
[   42.362590] md: raid10 personality registered for level 10
[   43.536780] UDF-fs: warning (device sda): udf_fill_super: No partition found (1)
[   44.050213] UDF-fs: warning (device sdb): udf_fill_super: No partition found (1)
[   45.271983] aufs test_add:294:mount[384]: uid/gid/perm /squashfs 0/0/0755, 0/0/01777
[   45.313915] aufs test_add:294:mount[392]: uid/gid/perm /boot 0/0/0755, 0/0/01777
[   46.933383] spurious 8259A interrupt: IRQ7.
[   56.934885] systemd-udevd[849]: starting version 200
[   59.125234] parport_pc: VIA 686A/8231 detected
[   59.125284] parport_pc: probing current configuration
[   59.125342] parport_pc: Current parallel port base: 0x378
[   59.125567] parport0: PC-style at 0x378 (0x778), irq 7 [PCSPP,TRISTATE]
[   59.228365] parport_pc: VIA parallel port: io=0x378, irq=7
[   59.307252] NET: Registered protocol family 23
[   59.761439] systemd-udevd[868]: renamed network interface eth0 to enp0s18
[   61.098592] ppdev: user-space parallel port driver
[   68.478779] warning: process `hwsetup' used the deprecated sysctl system call with 1.23.
[   96.901370] md: Autodetecting RAID arrays.
[   96.901471] md: Scanned 0 and added 0 devices.
[   96.901482] md: autorun ...
[   96.901492] md: ... autorun DONE.
[  325.837913]  sda: sda1
[  329.502439]  sda: unknown partition table
[  331.253784]  sda: unknown partition table
[  331.459349]  sda: sda1
[  334.947530]  sda: sda1
[  468.772484]  sda: sda1
root@sysresccd /root % 
Bueno, está claro que esto no es la repanocha pero algo podemos intentar hacer. Quién me lo trajo me conoce y sabe mi obsesión por reutilizar hardware obsoleto en cosas interesantes e insospechadas. Detesto la obsolescencia programada y todo lo que vaya en su menoscabo es una pequeña victoria para mí. Ya que no puedo ganar la guerra que al menos le dé de vez en cuando una pedrada al enemigo.

Lo primero: instalar un Linux ligero en ese "peazo" disco duro de 512Mb.

To be continued.....


Ejecutar aplicaciones gráficas en un SystemRescueCD remoto por ssh.

En estos momentos estoy actualizando un porrón de máquinas a Debian Wheezy con SystemRescueCD y Clonezilla. Como hace mucho calor y no me apetece estar todo el rato para arriba y para abajo vigilando el proceso de restauración de imágenes del Clonezilla, lo estoy haciendo todo desde mi puesto de trabajo usando este método para clonar remotamente por ssh. De esta manera puedo abrir 3,4,..,n conexiones ssh a otros tantos PC y clonarlos mientras hago otras cosas en mi puesto de trabajo. Productividad ante todo.

En un aula concreta tuve un problema: tenía que retocar las particiones antes de clonar. Quería usar gparted, que viene incluído en SystemRescueCD, pero al ser una utilidad gráfica no podía arrancarla ni aún iniciando sesion remota con "ssh -X ...." ya que me daba un error. ¿Cúal es la causa?: pues que hay que configurar el servicio sshd del SystemRescueCD para que admita aplicaciones de las X. Los pasos son:

1) Conectar por ssh al SystemRescueCD remoto:
# ssh root@ip-pc-remoto
2) Editar /etc/ssh/sshd_config y añadir:
X11forwarding yes
X11DisplayOffset 10
3) Reiniciar el servicio sshd y salir de la conexión:
# /etc/init.d/sshd restart
# exit
4) Volver a conectar con lel parámetro -X y ejecutar la aplicación gráfica.
# ssh -X root@ip-pc-remoto
....ya en el equipo remoto:
# gparted

Y ya está, con eso puedo redimensionar las particiones, luego clonar con clonezilla, regenerar el grub y reiniciar el equipo sin moverme de mi sitio.

Cuantos trabajos por no trabajar.

lunes, 22 de junio de 2015

Importar claves GPG de un repositorio desde dentro de la Red Educativa


Estaba con un repositorio nuevo para instalar unas cosillas y al hacer apt-get update me salía el típico error NO_PUBKEY de que no tengo la clave del repositorio, que en este caso era E1F958385BFE2B6E

Primero he probado a añadir la clave a mano de la forma recomendada siempre, con:

# apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E

Pero había olvidado que dentro de la red educativa esto no funciona ya que usa el puerto 11371 y dicho puerto está bloqueado por el firewall. El truco para que funcione es:

# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80  E1F958385BFE2B6E

Que hace la petición a través del puerto 80 (que evidentemente está abierto) al servidor de claves de Ubuntu, que si escucha por dicho puerto. De esta manera añadimos la clave a los ficheros /etc/apt/trustdb.gpg y /etc/apt/trusted.gpg y ya podremos actualizar desde ese repositorio sin problemas.

lunes, 15 de junio de 2015

Funny SIM y las APN Perdidas.

No, el título de esta entrada es el nombre de un grupo de tontipop de los 90. Bueno, no se que hago que siempre acabo en líos como gato en un ovillo de lana. Mi ultima aventurilla: como todavía no he entrado en el mundo de los móviles octacore (usados preferentemente para whatsapp) sigo con un LG Optimus Hub E510 que me funciona bien para lo que lo quiero (que consuma su p**a madre). Hace varios días petó el Android Gingerbread que lo movía, así que me puse a reinstalar el sistema con ayuda de los foros de htcmania y esta lista de ROMs.

Una vez puesto el CWM Recovery me dispuse a flashear una de esas ROM basadas en Cyanogenmod, arranqué y todo parecía ir bien: cámara, sonido, wifi, ... carajo: no hay conexión de datos. Me voy a la configuración de APNs y, vaya por Cthulhu, esta vacia. Bueno, intento añadir la APN de mi operador (Vodafone) a mano... sin resultado: relleno todos los campos y cuando le doy a guardar la APN no se guarda. Probando todas las ROMs de esa página pasaba eso, excepto en ésta basada en la ROM Stock (vamos, la ROM oficial de LG) con algún tuneo.

Para mas desconcierto me encuentro con que si pongo una SIM de Pepephone las APN aparecen bien con cualquier ROM y se dejan añadir y modificar.

Intentando averiguar la causa de esto, pues las ROMs probadas eran mucho mas ligeras y limpias que la Stock ROM, me meto en un lío en el que aprendo un montón de cosas nuevas que voy a dejar aquí como referencia.

Muchos android traen una lista con la configuración completa de posibles APNs ubicadas en el fichero /system/etc/apns-conf.xml. La finalidad de esta lista es configurar automáticamente el APN en función del país y operador. Para acceder a dicho fichero lo mas sencillo es activar la depuración USB del móvil, instalar las adb-tools y conectar el android a nuestro PC con su cable usb.

# apt-get install android-tools-adb
# adb devices

...mostrara el móvil....

# adb pull /system/etc/apns-conf.xml

Con esto tenemos el fichero apns-conf.xml en el directorio actual. Podemos husmear en el para ver que aparecen las definiciones de APN de un montón de operadores mundiales, de tal forma que el usuario del teléfono no tenga que teclear los datos de la APN. Entre ellas están las de Vodafone en España, que son:


  <apn carrier="Vodafone ES"
       mcc="214"
       mnc="01"
       apn="airtelwap.es"
       user="wap@wap"
       password="wap125"
       server=""
       mmsc="null"
       type="default"
  />

por lo que en teoría el móvil debería reconocerla y configurarse automáticamente, pero no lo hacia.

Por otro lado, las APN definidas a mano por el usuario se guardan en

/data/data/com.android.providers.telephony/databases/telephony.db
/data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml 

Las podemos obtener con:

# adb pull /data/data/com.android.providers.telephony/databases/telephony.db

El fichero telephony.db es una base de datos sqlite3, que examinaremos con esa herramienta:

# apt-get install sqlite3
# sqlite3 telephoy.db
sqlite> select * from carriers;
.....listado de APN de operadores................
.....listado de APN de operadores................
.....listado de APN de operadores................

Veo que dentro está la lista de APN que he intentado meter a mano y que parecían perderse al dar a Save. Resulta que si se guardan, pero luego no se muestran. En cuanto al otro fichero:

# adb pull /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml 
# cat preferred-apn.xml 
<? Xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Map>
    <Long name="apn_id" value="218"/>
</Map>

El APN de telephony.db usado por defecto por nuestro Android para realizar la conexión de datos sería el apn_id que definimos en preferred-apn.xml.

¿Por qué no se muestran los APN definidos a mano?, aún mas misterioro: ¿cómo averigua android el APN correcto para nuestra tarjeta?. Investigando en Internet descubro que el método que tiene el móvil para saber que APN es el correcto es con los campos MCC (código de pais) y MNC (código de operadora): 214/01 para el caso de Vodafone España. ¿De dónde se obtiene estos números?: de la tarjeta SIM del móvil.

Buscando en foros vi que recomendaban una aplicación para leer dicha información: Network Info II que en la pestaña Device nos da el MCC+MNC de la SIM. Bueno, pues aqui la primera pista: con las ROMs cocinadas aparece el mensaje "SIM locked" y no muestra ese dato, mientras que con la Stock ROM si que se muestra un 214/01. Es decir, que la ROM cocinada es incapaz de leer el campo MCC+MNC de la SIM y como consecuencia:

1) No puede identificar automaticamente un APN en /system/etc/apns-conf.xml
2) Cualquier APN que metamos a mano se guarda en /data/data/com.android.providers.telephony/databases/telephony.db, pero al no coincidir su MCC+MNC con el de la tarjeta SIM (que no pueden ser leídos) son filtradas y como consecuencia no aparecen en la lista de APN y no pueden ser seleccionados.
3) Por tanto, al no encontrar APN válido según la SIM que tenemos, nuestro móvil no tiene conexión de datos.

Buscando ahora mejor informado el problema con los datos que tengo veo que la causa de todo es un problema con la SIM, llamado jocosamente en el foro xda-developers "problema de la Funny SIM" (yo no le veo el funny por anywhere). La historia está en que en determinadas SIM de 128Kb las ROMs cocinadas de Cyanogen no pueden acceder al MCC+MNC, mientras que con la SIM es de 64Kb "si se puede". Información detallada aquí.

En determinados sitios se hablan de soluciones, como aquí, donde se consigue arreglar usando una aplicación del Google Play llamada GetRIL. Esta aplicación se ejecuta con la Stock ROM y hace una copia de los datos del RIL (Radio Interface Layer), copia que luego se restaura con la ROM cocinada. Esto hace que mágicamente el APN pueda activarse. Por desgracia, la aplicación GetRIL funciona en varios modelos de LG y Samsung, pero no en mi Optimus Hub E510.

¿Y cual es la solución que queda?, pues como dicen aquí: hacer que tu operador te cambie la SIM de 128Kb por una de 64Kb. Pregunté en Vodafone y me dijeron que de eso ya tenían ellos, que son muy "in" y sus SIMs tienen mucha memoria para el 4G y para que el Estado y las Corporaciones puedan espiarte mediante el NFC.

Bueno, como está claro que el mundo se mueve y yo me quedo rezagado (*) así que he decidido entrar en 2013 y comprarme un Xiaomi Hongmi 1S de segunda mano por cuatro duros. Fin de la cita.

(*)Espero no llegar al nivel de aquel alcalde de la PPSOE que ante la presencia de los de Graba tu Pleno en su Ayuntamiento con sus equipos de grabación exclamaba: "apaguen los magnetófonos y los tomavistas o llamo a la Guardia Civil".

Este país me hacer llorar de risa y reir de llanto. Por cierto, Je suis Zapata.

Creación masiva de usuarios locales en Windows mediante WPKG.


Crear usuarios locales simultáneamente en muchas maquinas con Linux está tirado con puppet y su recurso "user". En Windows hacer eso no es tan sencillo, ya que o tenemos un Windows Server o usamos WPKG para evitar ir PC por PC creando el usuario.

Vamos a ver como hacerlo usando WPKG. Crearemos un usuario llamado oposicion perteneciente al grupo de administradores sobre todas las máquinas que pertenezcan a un perfil.

Lo primero es el package usuarios.xml, que guardaremos en el directorio de packages:


<?xml version="1.0" encoding="UTF-8"?>
<packages>

<package id="usuario_oposicion"
   name="Creacion usuario oposicion"
   revision="1"
   reboot="false"
   priority="1"
   execute="once">

   <install cmd="%comspec% /C net user /add oposicion passwordoposicion" />
   <remove  cmd="%comspec% /C net user /del oposicion" />

</package>

<package id="usuario_oposicion_admin"
   name="Inclusiónn usuario oposicion en administradores maquiina"
   revision="1"
   reboot="false"
   priority="1"
   execute="once">

   <depends package-id="usuario_oposicion" />
   <install cmd="%comspec% /C net localgroup Administradores oposicion /add" />

</package>


</packages>

Como se puede ver, hacemos uso de los comandos "net user" y "net localgroup" de Windows, una herencia de MS-DOS que permite manejar usuarios y grupos desde el cmd.exe. El depends es importante ya que establece precedencia en la ejecución de los paquetes.

Nótese que no hace falta regla remove en el paquete usuario_oposicion_admin ya que borrar el usuario de la máquina supone borrarlo en cascada de los localgroup a los que pertenece.

Ahora asociamos los paquetes al perfil nuevo, añadiendo en profiles.xml el nuevo perfil usuario_oposicion:


<profile id="usuario_oposicion">
   <variable name="SOFTWARE" value="\\wpkgserver\wpkg\files"/>
   <package package-id="usuario_oposicion" />
   <package package-id="usuario_oposicion_admin" />
</profile>

Por último, definimos en hosts.xml que máquinas están asociadas al perfil creado en el paso anterior:


<host name="a23-.+" profile-id="default">
   <profile id="prevencion" />
   <profile id="usuario_oposicion"/>
</host>

En este caso se aplica a todos los hosts cuyo nombre de máquina empiece por "a23-". Y con esto ya está, con que enciendan las máquinas y esperen unos minutos el usuario en cuestión estará creado mientras que nosotros hacemos cosas mas interesantes que crear usuarios uno a uno. Recordemos que el Eclesiastés dice eres mejor sysadmin cuanto mas tiempo dedicas a hacer cosas para no trabajar.

viernes, 5 de junio de 2015

Descomprimir, modificar y comprimir un paquete sencillo en Debian

Mi compañero Esteban Navas publicó hace poco un post para instalar plank en Debian Wheezy. Hacia tiempo que quería instalar un dock de ese tipo que fuera ligero y poco intrusivo para tener accesibles los enlaces mas comunes de los usuarios, ya que lo normal es que con el tiempo acaben borrados o escondidos entre  otros iconos del escritorio.

Junto con el paquete plank, Esteban ha construido un paquete plank-config con una configuración básica del dock, para colocar en el /etc/skel y copiar al home de todos los usuarios. Ambos paquetes pueden descargarse desde aquí.

Me interesaba coger el paquete plank-config y adaptarlo con los accesos directos que yo necesito, para luego volver a empaquetarlo. Hay varias herramientas para desempaquetar y reempaquetar un paquete .deb, la mas sencilla es dpkg-deb (otra mas potente y complicada es dpkg-buildpackage, que veremos en otro post mas adelante). Una vez descargado el paquete en cuestión plank-config_0.2_all.deb vamos a descomprimirlo en el directorio plank-config:
# apt-get install dpkg-deb
# dpkg-deb -R  plank-config_0.2_all.deb plank-config
# cd plank-config/

# ls -l
drwxr-xr-x 2 root root 4096 dic 16 17:18 DEBIAN
drwxr-xr-x 5 root root 4096 dic 16 17:18 etc
drwxr-xr-x 3 root root 4096 dic 16 17:18 usr

# tree
|-- DEBIAN
|   `-- control
|-- etc
|   |-- skel
|   |-- skel-alumno
|   `-- skel-profesor
`-- usr
    `-- share
        `-- doc
            `-- plank-config
                `-- changelog.gz

Para ver los ficheros ocultos (omito la salida ya que es enorme):
# tree -a 
....
....
....
En DEBIAN/control podemos cambiar el nombre del paquete en la instalación y la version. En los otros directorios podemos cambiar los ficheros que nos apetezca hasta adaptar el contenido de plank-config a nuestro gusto.
# cat DEBIAN/control 
Package: plank-config
Version: 0.2
Installed-Size: 1436
Section: gnome
Maintainer: Esteban M. Navas Martín <algodelinux@gmail.com>
Priority: optional
Architecture: all
Description: Configuración de Plank para IES
 Configuración de Plank con los accesos directos más comunes para el IES
La gente de orden lo que hacemos es editar el fichero control antes de nada para añadir comentarios de los cambios e incrementar la "Version". La sintaxis completa está en https://www.debian.org/doc/manuals/maint-guide/dreq.es.html#control

Una vez hechos los cambios, por ejemplo añadir un nuevo dockitem a etc/skel/.config/plank/dock1/launchers y en /.config/plank/dock1/settings, recomprimimos el paquete:
# dpkg-deb -b plank-config/ plank-config_0.3_all.deb
Este comando coge la información de DEBIAN/control y con eso y todo el contenido del directorio plank-config/* crea un paquete llamado plank-config_0.3_all.deb incluyendo los ficheros que hemos añadido/modificado/quitado.

A diferencia de otras herramientas dpkg-deb no necesita mas ficheros de metadatos que DEBIAN/control, por lo que si queremos crear un paquete desde cero simplemente tenemos que crear el fichero DEBIAN/control mínimo y añadir el resto de directorios y ficheros a instalar en ellos, comprimiendo finalmente todo con dpkg-deb -b.

Hasta pronto.....